【问题标题】:hide pagination links if there is just one page in laravel如果 laravel 中只有一页,则隐藏分页链接
【发布时间】:2019-10-21 01:01:39
【问题描述】:

我正在使用 laravel 5.3。

我知道如何对大型数据集进行分页以及如何处理它。

显示分页链接即使只需要一页来显示结果。但我想在这种情况下隐藏分页链接?

我使用render() 方法来显示这样的分页链接:

<nav id="pagination">
  {!! $posts->render() !!}
</nav>

有什么想法吗?

【问题讨论】:

  • 来自twitter,这是L5.3中的一个错误

标签: php laravel pagination laravel-5.3


【解决方案1】:

处理这个问题的最好方法是在你的前端隐藏指向分页的链接,如果total &lt;= per_page

如果您使用 laravel 的 links() 方法,您可以执行以下操作:

@if($results->total() > $results->perPage())
 {{ $results->links }}
@endinf

【讨论】:

  • 我正在使用render() 函数来显示链接。两者之间有什么区别?
  • 您在视图中使用render()?你能用你的代码更新你的帖子吗?
  • @valdo,是的,我正在使用render()。我更新了我的帖子。
  • 老实说,我什至不知道render()是什么,看起来都一样
【解决方案2】:

对于 Laravel 5.0 及更高版本,这是通过未记录的方法更好的方法。

@if ($results->hasPages())
    {{ $results->links() }}
@endif

方法链接:

https://laravel.com/api/5.8/Illuminate/Contracts/Pagination/Paginator.html#method_hasPages

【讨论】:

    【解决方案3】:

    因为我想将此行为应用于整个 laravel 项目的所有分页,我使用@Vuldo 建议的方法来查看 resources/views/vendor/pagination 目录中的 default.blade.php 视图,如下所示:

    @if($paginator->total() > $paginator->perPage())
         <ul class="pagination">
            ...
         </ul>
    @endif
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-18
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多