我做了很多研究,但仍然没有解决问题,希望你们中的一些人可以帮助我。
我有一个表Post
和一个表Comment
,具有正常关系Post Has Many Comments
我设置了以下查询来获取 10 个带有相关评论的帖子:
Post::with('comments')->limit(10)->get();
好吧,它有效,但仍然不是我的最终结果,因为我想将评论限制为 5 每个帖子
到目前为止,我尝试使用此查询来限制我的评论,即使从逻辑上讲它只会限制所有帖子的 5 条评论。事实上它正如我猜测的那样。
Post::with(['comments' => function($comments){
$comments->limit(5);
}])->limit(10)->get();
也许对于 eloquent 这种查询是不可能的,但是我怎样才能让它工作,即使有 2 个不同的查询并合并结果?
任何形式的帮助将不胜感激。
谢谢
最佳答案
解决方案在这里: http://softonsofa.com/tweaking-eloquent-relations-how-to-get-n-related-models-per-parent/
类似这样的事情: 返回 $this->comments()->latest()->nPerGroup('post_id', 5);
关于php - Laravel 中的提前限制结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22583367/