Post :: with('comments.owner') - > get();嵌套预先加载约束
此查询将为我们提供所有帖子,其评论和评论所有者。
但是我怎么能得到所有的帖子,其最后5条评论和作者的每个评论。任何人都可以帮忙吗?
这里是架构 帖子 - 标识 - 内容 评论 - ID - commented_id(USER_ID) - user_id说明 用户 - ID - FULL_NAME 感谢
Post :: with('comments.owner') - > get();嵌套预先加载约束
此查询将为我们提供所有帖子,其评论和评论所有者。
但是我怎么能得到所有的帖子,其最后5条评论和作者的每个评论。任何人都可以帮忙吗?
这里是架构 帖子 - 标识 - 内容 评论 - ID - commented_id(USER_ID) - user_id说明 用户 - ID - FULL_NAME 感谢
试试这个:
$posts = Post::with(['comments'=>function($query){
$query->orderBy('created_at','desc')->limit(5);
}])
->with('comments.author')
->get();
对不起,这没有按预期工作。它返回所有评论。我只需要最后5 请参阅下面的查询跑 SELECT * FROM'posts' SELECT * FROM'comments'其中'在( '6', '7','评论.'post_id' '8' ,'9','10','11','12','13','14','15','16','17','18','19','20',' 21','22','23','24','25','26') – maj
两条select语句? – jaysingkar
是急切加载不会使用加入。它产生多个查询 – maj
请发表您的数据库模式 – jaysingkar
发布 - id - content 评论 - id - commented_id(user_id) - user_id User - id - full_name – maj
https://softonsofa.com/tweaking-eloquent-relations-how-to-get-n-related-model s-per-parent/ –