Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想用评论加载我所有的新闻。现在,我正在检索所有评论的所有新闻。但是,我只希望对每个新闻项目显示 2 条评论。
$news = News::with('user')->with('comments.user')->orderBy('created_at', 'desc')->get();
每个新闻项目如何仅获得 2 条评论?
我不确定这是否可能。
你可以这样做:
News::with(array('comments.user' => function($q) { $q->take(2); }));
但它需要从整个集合中提取两条评论(生成的查询看起来像SELECT * FROM users WHERE id IN (...) LIMIT 2)。
SELECT * FROM users WHERE id IN (...) LIMIT 2
我有同样的问题。我以一种肮脏的方式完成了它 - 遍历新闻记录,获取两条评论并缓存整个内容。