Próbuję działać, aby relacje zagnieżdżone z obciążeniem, z ograniczeniami, działały. Każdy zdaje się podając ten sam przykład chętny-załadunkowych zagnieżdżonych relacji:Laravel 4.1 Zachłanne ładowanie zagnieżdżonych relacji z ograniczeniami
$users = User::with('posts.comments')->get();
Co chcę zrobić zamiast tego jest uzyskanie wszystkich Użytkowników związane ze stanowiskiem danego id. Ale jednocześnie chcę również uzyskać komentarze związane z tym postem.
w 4.1, to aby osiągnąć ten ostatni, mogę zrobić:
$comments = Comment::whereHas('post', function($query) { $query->whereId(1); })->get();
Czy istnieje sposób, aby poślubić dwa i ograniczyć zagnieżdżony związek?
Po prostu zauważyłem, że muszę zwrócić obiekt użytkownika, ponieważ mój kontroler (i widok) oczekują obiektu użytkownika. Kosztownym kosztem byłoby później wykonanie kolejnej kontroli w celu ustalenia, który to obiekt. – kJamesy
edytowane, sprawdź teraz –
Dzięki za twój wkład. Okazało się, że nie musimy używać dodatkowego "z" lub "whereHas". Kończąc go w miejscu, gdzie ('post_id', $ id ') dostarczy nam wszystkiego, czego potrzebujemy. A ponieważ post należy do tylko jednego użytkownika, powinniśmy użyć find() lub first() zamiast get(). – kJamesy