Orm 限制嵌套的结果并获取第4行的总行数

Orm 限制嵌套的结果并获取第4行的总行数,orm,laravel-4,eloquent,Orm,Laravel 4,Eloquent,我在限制关系上的结果和获取原始行数方面遇到了一些困难。让我们一起去看我的赛凯纳里奥: 我有帖子、帖子内容和评论。我想选择所有的帖子,并限制在5我的评论,但我需要知道有多少评论,该职位 $post = Post::with(array('contentPost','commentPost' => function($query){ $query->take(5); }))->where('wall_id','=',$team_info-&g

我在限制关系上的结果和获取原始行数方面遇到了一些困难。让我们一起去看我的赛凯纳里奥:

我有帖子、帖子内容和评论。我想选择所有的帖子,并限制在5我的评论,但我需要知道有多少评论,该职位

$post = Post::with(array('contentPost','commentPost' => function($query){
            $query->take(5);
        }))->where('wall_id','=',$team_info->id)->get();
有了这个关系,我把评论限制在5条,没错!但是如果我想数一数所有的评论

$post->commentPost->count()


它只显示5条评论,因为我限制了它。即使我限制了评论的数量,我如何才能获得评论的真实数量?

在您的
$post->commentPost->count()
调用中,您要求获得与$post关联的结果的
count()
。当然,这始终是查询参数提供的实际行数

“在一个地方做所有事情”很少是开发中的答案。即使您找到了实现该查询的方法,当您需要更改此查询时,将来会发生什么?你最终会得到脆弱的代码,容易被破坏


保持你的关系不变,有5个职位的限制。对计数运行单独的查询。

谢谢您的回答,我将尝试这样做!:)