2015-05-04 5 views
6

Bu benim I den C kadar istekli yüke mümkün ama nasıl I dan da T kadar I istekli yükü yapmak, Şu anda benim şimdiki ilişkiler Laravel: Dört veya daha fazla tablo arasında istekli yüklemeyi nasıl zincirlerim?

I -> belongsTo -> S //in model I 
S -> belongsTo -> C //in model S 
C -> belongsTo -> T //in model C 

T -> hasMany -> C //in model T 
C -> hasMany -> S //in model C 
S -> hasMany -> I //in model S 

mı? I::with(['S.c'=>function($query){ $query->with('C.t') }])

gibi çeşitli yolları denedim ancak hepsi hata verdi.

+3

'ı ([ 'S', 's.c.', 'S.C.T'])' ile ::? – undefined

+0

Uyarı: Laravel son derece büyük harfe duyarlıdır! Onları şu şekilde çağırmalısınız: '$ model-> S-> C-> T-> property' –

+0

@Vohuman thanks! Yine de, bunu bir cevap olarak eklemek isteyebilirsiniz. ;) – Mark

cevap

8

yapabilirsiniz noktalama işaretleri kullanarak soyundan tablolar istekli yük:

I::with(['S', 'S.C', 'S.C.T'])->get(); 
İlgili konular