我想用评论加载我的所有新闻。现在,我正在检索包含所有评论的所有新闻。但是,我只希望每个新闻项目都显示2条评论。
$news = News::with('user')->with('comments.user')->orderBy('created_at', 'desc')->get();
每个新闻项目如何只收到2条评论?
答案 0 :(得分:2)
我不确定这是否可能。
您可以这样做:
News::with(array('comments.user' => function($q) { $q->take(2); }));
但是整个集合需要两条评论(生成的查询看起来像SELECT * FROM users WHERE id IN (...) LIMIT 2
)。
我遇到了同样的问题。我是以一种肮脏的方式完成它 - 迭代新闻记录,向他们提取两条评论并缓存整个事情。