Laravel:能否使用1个可选分页查询?

问题描述 投票:1回答:2

我经常遇到我想要对我的数据进行分页的问题,但我也希望对所有数据进行一般计数,或者需要将其引用用于其他目的。这是一个示例:

调节器

$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个来解决这个问题?这感觉效率低下。

php laravel
2个回答
2
投票

你试过{{ $issues->total() }}吗?

$results->count()获取当前页面的项目数。

$results->total()确定数据存储中匹配项的总数。 (使用simplePaginate时不可用)。

您可以在这里查看所有可能的功能:https://laravel.com/docs/5.7/pagination#paginator-instance-methods


1
投票

在Laravel 5你可以使用total(){{ $issues->total() }},会给你总记录

检查Docs

© www.soinside.com 2019 - 2024. All rights reserved.