У меня есть модель «model1», которая относится к другой модели «model2», и они являются отношениями от одного до многих. Скажем model2 имеет две функции,Laravel Eloquent One to Many функция отношения не найден
function model1()
{
return $this->hasMany('App\model1');
}
function model3()
{
return $this->belongsTo('App\model3');
}
Model1 имеет функцию,
function model2()
{
$this->belongsTo('App\model2');
}
Когда я звоню запрос в контроллер, как следовать,
function index()
{
$query=model1::with('model2')->get();
}
Это работает, но,
function index()
{
$query=model1::with('model2.model3')->get();
}
Показаны следующие ошибки,
Призыв к неопределенным метод Осветите \ Database \ Query \ Builder :: model3()
Как я новичок в Laravel, и я не понимаю, почему я не могу назвать, как это. Может ли кто-нибудь объяснить мне?
UPDATE ::
Сценарий:
Модель 1 = Номер
Model 2 = отель
Model 3 = Город
Номера принадлежит гостиница
Отель имеет множество комнат,
Отель находится в городе,
Город имеет множество отелей,
Когда я запрашиваю для помещений, я хотел бы включить отель и город.
У меня есть модель «Комната», которая принадлежит к другой модели «Отель», и это отношения друг к другу. Скажем, "Отель" имеет две функции,
function Room()
{
return $this->hasMany('App\Room');
}
function City()
{
return $this->belongsTo('App\City');
}
"Номер" имеет функцию,
function Hotel()
{
$this->belongsTo('App\Hotel');
}
Когда я звоню запрос в контроллер, как следовать,
function index()
{
$query=Room::with('Hotel')->get();
}
Это работает, но,
Показаны следующие ошибки,
Призыв к неопределенным метод Осветите \ Database \ Query \ Builder :: Город()
Как я новичок в Laravel, и я не понимаю, почему я не могу назвать, как это. Может ли кто-нибудь объяснить мне?
Вы упускаете '-> получить()' в конце вашего заявления. – aynber
Извините, я только что добавил. – user3789191
Я добавил несколько подробностей на вопрос, не могли бы вы объяснить мне, как я могу решить? – user3789191