0

すべてのニュースをコメント付きで読み込みたい。現在、すべてのコメントを含むすべてのニュースを取得しています。ただし、各ニュース項目に表示されるコメントは 2 つだけです。

$news = News::with('user')->with('comments.user')->orderBy('created_at', 'desc')->get();

各ニュース項目で 2 つのコメントのみを取得するにはどうすればよいですか?

4

1 に答える 1

1

それが可能かどうかはわかりません。

次のようなことができます。

News::with(array('comments.user' => function($q) { $q->take(2); }));

ただし、セット全体から 2 つのコメントが必要です (生成されたクエリは のようになりますSELECT * FROM users WHERE id IN (...) LIMIT 2)。

私も同じ問題を抱えていました。私は汚い方法でそれを行いました - News レコードを反復処理し、それらに 2 つのコメントをフェッチし、すべてをキャッシュします。

于 2013-06-06T10:49:47.407 に答える