如何检查分页链接是否显示在 laravel blade 中?

How to check if pagination links will be shown in laravel blade?

我正在使用 paginate 进行分页,我想为 Blade 中的 $items->links() 添加自定义标记,如下所示:

<div class="pagination-wrapper">
    {{ $items->links() }}
</div>

如何检查分页链接是否会显示,这样我就不会打印出空的 pagination-wrapper?

我发现您可以访问项目总数和每页显示的项目数以进行分页。之后,很容易检查是否只有一页 - 这意味着不会显示分页链接。

@if ($items->total() > $items->perPage())
    <div class="pagination-wrapper">
         {{ $items->links() }}
    </div>
@endif

Laravel 5 或更高版本 有更好的 Laravel 本机方法来检查分页链接是否会显示在 laravel blade.

@if ($items->hasPages())
    <div class="pagination-wrapper">
         {{ $items->links() }}
    </div>
@endif

From Laravel API documentation

+----------------------+-------------------------------------------------------------------+
|        Method        |                            Description                            |
+----------------------+-------------------------------------------------------------------+
| $results->hasPages() | Determine if there are enough items to split into multiple pages. |
+----------------------+-------------------------------------------------------------------+