我经常遇到我想要对我的数据进行分页的问题,但我也希望对所有数据进行一般计数,或者需要将其引用用于其他目的。这是一个示例:
调节器
$issues = Script::where('status', 'Other')->orderBy('prescribe_date', 'desc')->paginate(10);
刀
@foreach ($issues as $issue)
{{$issue->name}}
@endforeach
{{$issues->links}}
<br>
Total Issues: {{$issues->count()}}
foreach
问题显示效果很好,但总问题的count()
只显示了分页长度。我理解为什么会这样做,所以作为一种解决方法,我一直在向Controller添加第二个查询:
$issues_raw = Script::where('status', 'Other')->orderBy('prescribe_date', 'desc');
然后对于我需要对数据进行非标准访问的任何总计数或其他实例,我使用$issues_raw
。我的问题是:有没有办法通过使用1个查询而不是我目前使用的2个来解决这个问题?这感觉效率低下。
你试过{{ $issues->total() }}
吗?
$results->count()
获取当前页面的项目数。
$results->total()
确定数据存储中匹配项的总数。 (使用simplePaginate时不可用)。
您可以在这里查看所有可能的功能:https://laravel.com/docs/5.7/pagination#paginator-instance-methods
在Laravel 5你可以使用total()
:{{ $issues->total() }}
,会给你总记录
检查Docs