假设我有这些关系
class Invitation
{
public function invitedPeople()
{
return $this->belongsTo('App\Person', 'personID');
}
}
class Person
{
public function apartments()
{
return $this->belongsToMany('App\Apartment', 'apartment_person', 'personID', 'apartmentID');
}
}
class Apartment
{
public function city()
{
return $this->belongsTo('App\City', 'cityID');
}
}
我的问题是,使用Laravel eager loading时我们可以拥有多少个嵌套级别? 我已经尝试过这个查询并且它无法正常工作,有人可以建议解决这个问题吗?
return Invitation::with(['invitedPeople', 'invitedPeople.apartments', 'invitedPeople.apartments.city'])
答案 0 :(得分:8)
将其更改为
return Invitation::with('invitedPeople.apartments.city')->get()
它会急切地为您加载所有相关数据。你错过了get()函数。你可以尽可能深地筑巢。