これは質問と私自身の答えです(私が偶然考え出した解決策)。 Laravelのドキュメンテーションはこれについて言及しておらず、それは私に数時間のプログラミング苦労をもたらしました。Laravel Eagerが内部の制約を読み込んでいても、 'with'がネストされている場合は制限されません
コメントと投票の投稿(コメント用)があるとします。ララベルの好例。モデルと関係はTextbook(Laravelのドキュメントから)です。投稿にはコメントがあり、コメントには投票があります。
ので、
$comments_ids = [1,6,7,22];
Post::where('id', $post_id)
->with(['comments' => function($query) use ($comments_ids) {
$query->whereIn('id', $comments_ids);
}])
->with('comments.votes')
->first();
だから、私は、IDSは1,6,7,22のあるコメントやロードされた熱心な票をポストを期待するべきです。
しかし、それほど速くはありません!私はすべてのコメントを得る!それらのすべて! ...なぜ?我々熱心な負荷コメントは、その後、我々は票をロードし、ので
、投票をロードするために、すべてのコメントを強制的に:ここで