You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 5.7分页集合如何获取数据起始与结束位置?

当然可行!Laravel分页自带这些功能

完全没问题,Laravel的分页实例已经帮你封装好了获取起始/结束位置的方法,不用自己手动去算页码×每页条数这种容易出错的逻辑~

首先,你得到的分页对象(比如$posts = Post::where('active', 1)->paginate(10);)是LengthAwarePaginator类的实例,它提供了几个直接能用的方法:

  • firstItem():返回当前页第一条数据的序号(比如第2页就是11)
  • lastItem():返回当前页最后一条数据的序号(比如第2页就是20)
  • total():返回符合条件的总数据条数(比如284)

直接用这些方法就能拼接出你要的文本了,举个例子:

如果是在控制器里拼接:

$posts = Post::where('active', 1)->paginate(10);
$paginationText = "产品 {$posts->firstItem()}-{$posts->lastItem()},共{$posts->total()}件";

如果是在Blade模板里直接渲染:

产品 {{ $posts->firstItem() }}-{{ $posts->lastItem() }},共{{ $posts->total() }}件

而且特别贴心的是,如果当前页是最后一页(比如总共有284条,每页10条,最后一页是第29页),lastItem()会自动返回284而不是290,完全不用你额外判断边界情况~

内容的提问来源于stack exchange,提问作者Čamo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 07:22:39