您一定见过以下功能(在 Facebook 上),一篇带有一些评论的帖子,每条评论都有一个点赞计数器。
https://img4.hostingpics.net/pics/67853820170616003640LaravelNewsAccueil.png
在 Laravel 中,它会是这样的
- 帖子有很多评论
- 评论属于帖子
- 评论喜欢属于用户
- 评论喜欢属于评论
- 评论有很多评论喜欢
所以,现在我想要获得 10 个带有评论的帖子,每个评论都有一个点赞计数器。
Post::with('comments')->withCount('comments.likes')->take(10)->get();
这根本不起作用。
Post::with('comments')->withCount('comments')->take(10)->get();
这会计算每个帖子的所有评论,我想计算每个帖子的每个评论的所有点赞数。
最佳答案
试试这个
Post::with(['comments' => function($query){
$query->withCount('likes');
}])->take(10)->get();
关于sql - Eloquent 计数具有嵌套预加载的嵌套关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44599550/