如何检查是否在laravel中使用了paginate

S.M*_*ian 9 pagination laravel laravel-5

我有一个自定义视图和一些功能,我使用paginate和其他功能我不使用paginate.现在我该怎么检查我是否使用过paginate

@if($products->links())

   {{$products->links()}}

@endif // not work 
Run Code Online (Sandbox Code Playgroud)

当然,我知道我可以使用一个变量作为真假来检查它,但有没有任何本机函数来检查它?

Ric*_*hie 19

这非常有效.检查是否$products是实例,Illuminate\Pagination\LengthAwarePaginator然后显示分页链接.

@if($products instanceof \Illuminate\Pagination\LengthAwarePaginator )

   {{$products->links()}}

@endif
Run Code Online (Sandbox Code Playgroud)

  • 最好的方法是$ products-> hasMorePages()方法 (4认同)

Mo7*_*sin 10

@if ($threads->hasPages())
  {{ $threads->links() }}
@endif
Run Code Online (Sandbox Code Playgroud)

简单一个!


Shr*_*hal 7

从 Laravel 7 开始,您现在可以执行以下操作:

@if( $vehicles->hasPages() )
   {{ $vehicles->links() }}
@endif
Run Code Online (Sandbox Code Playgroud)


Fil*_*ski 5

这样尝试

@if($products instanceof \Illuminate\Pagination\AbstractPaginator)

   {{$products->links()}}

@endif
Run Code Online (Sandbox Code Playgroud)

您需要检查Wheater的$productsis实例Illuminate\Pagination\AbstractPaginator。它可以是数组,也可以是Laravel Collection


Fre*_*lli 5

美丽的方法:

@if ($products->hasMorePages())
    {{ $products->links() }}
@endif
Run Code Online (Sandbox Code Playgroud)

点击这里查看官方文档

  • 最后一页将隐藏分页链接 (7认同)

Asi*_*mov 5

不要对变量的基类进行检查。这可能会导致在未来的 Laravel 版本中更改基类时出现问题。只需检查方法链接是否存在:

@if(method_exists($products, 'links'))
   {{ $products->links() }}
@endif
Run Code Online (Sandbox Code Playgroud)