6
Hãy nói rằng tôi có những mối quan hệTải nhiều mức độ mong muốn ở Laravel?
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');
}
}
Câu hỏi của tôi ở đây là, có bao nhiêu mức lồng nhau chúng ta có thể có khi sử dụng Laravel tải háo hức? Tôi đã thử truy vấn này và nó không hoạt động, ai đó có thể đề xuất một công việc xung quanh cho điều này?
return Invitation::with(['invitedPeople', 'invitedPeople.apartments', 'invitedPeople.apartments.city'])
Bạn có thể lồng bao nhiêu cấp tùy ý. Xác định "không hoạt động", vì điều đó sẽ hoạt động tốt. Điều duy nhất tôi thấy là bạn đã không gọi '-> get()' ở cuối. – patricus
Không có giới hạn nhưng bạn có thể tối ưu hóa điều này bằng cách thực hiện 'Lời mời :: với (['invitedPeople.apartments.city'])'. – user3158900
@ user3158900 Lời mời :: với ('invitedPeople.apartments.city']) sẽ thực hiện ba lần tham gia bao gồm invitePeople, căn hộ và thành phố? – ggderas