6
powiedzmy mam te relacjeWielopoziomowe ładowanie w 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');
}
}
Moje pytanie brzmi, jak wiele zagnieżdżonych poziomów możemy mieć podczas korzystania laravel chętny załadunku? Próbowałem tego zapytania i nie działa, czy ktoś może zaproponować obejście tego problemu?
return Invitation::with(['invitedPeople', 'invitedPeople.apartments', 'invitedPeople.apartments.city'])
Można zagnieździć dowolną liczbę poziomów. Zdefiniuj "nie działa", ponieważ powinno to działać dobrze. Jedyne, co widzę, to to, że na końcu nie wywołałeś '-> get()'. – patricus
Nie ma limitu, ale możesz to zoptymalizować, wykonując 'Invitation :: with (['invitePeople.apartments.city'])'. – user3158900
@ user3158900 Zaproszenie :: with ("invitePeople.apartments.city"]) zrobiłoby trzy połączenia, w tym zaproszone People, apartments i city? – ggderas