Sto cercando di ottenere relazioni innestate Eager-Loading, con vincoli, per funzionare. Ognuno sembra dare lo stesso esempio di ansioso-carico relazioni annidate:Laravel 4.1 Eager Caricamento relazioni nidificate con vincoli
$users = User::with('posts.comments')->get();
Quello che voglio fare, invece è ottenere tutti i gli utenti connessi ad un post di un dato id. Ma allo stesso tempo, voglio anche ottenere i commenti associati a quel post.
In 4.1, ho per raggiungere il secondo, ho potuto fare:
$comments = Comment::whereHas('post', function($query) { $query->whereId(1); })->get();
C'è un modo per sposare questa due e vincolare una relazione annidata?
Ho appena notato che è necessario restituire un oggetto utente perché il mio controller (e la vista) si aspettano un oggetto utente. Sarebbe molto costoso fare un altro controllo in seguito per determinare quale oggetto sia. – kJamesy
modificato, controllalo ora –
Grazie per il tuo contributo. Abbiamo scoperto che non è necessario utilizzare l'extra 'with' o 'whereHas'. La sua conclusione in base a dove ('post_id', $ id ') ci darà tutto ciò di cui abbiamo bisogno. E poiché un post appartiene a un solo utente, dovremmo usare find() o first() invece di get(). – kJamesy