php - Laravel 中的提前限制结果

标签 php mysql laravel laravel-4 eloquent

我做了很多研究,但仍然没有解决问题,希望你们中的一些人可以帮助我。

我有一个表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/

相关文章:

php - CakePHP 中的模型验证

php - 实例化一个对象而不在 PHP 中调用它的构造函数

javascript - 如何使用ajax从数据库中获取正确的数据

php - Laravel - 如何传递数据以包含

php - 找不到列 : 1054 Unknown column '_token' in 'field list' Laravel

javascript - 模态变暗整个屏幕,没有什么是可点击的

php - 使用php在数据库中添加多行

信息填写后PHP下一页

MYSQL如何求和两个连接的字段

php - 需要在 hostgator 上的 ssh 上运行 'composer update',但是 php -v 到低