laravel中使用for循环数据,并且使用分页时如何打印序号?

1.Laravel的for方法中有个$loop循环变量,使用在表格中可以通过$loop->iteration打印出表格序号
例如:我有一张用户表,通过$loop->iteration打印顺序编号
image.png
blade页面代码:
image.png
controller代码:
image.png

2.但是当我使用分页时,$loop->iteration就不好用了。比如我这张表里有100条数据,每15条数据一页,当我使用$loop->iteration时,每页的顺序编号都是从1到15,请教下各位大神有什么解决办法?
页面展示:第一页
image.png

页面展示:第二页,后面都是如此情况
image.png

blade页面代码:(只是增加了分页)
image.png

controller代码:
image.png

阅读 5.2k
2 个回答

你可以考虑将每页条数和当前页码一并返到babel中用来计算, 你也可以在将数给到babel之前处理好, 逻辑是一样的!

{{($page-1) * $pageSize + $loop->iteration}}

犀利一笑^_^

首先感谢下冰糖雪梨提供的思路,下面我把方法贴出来,给和我一样的初学者解答互勉!
1.获取序号的方式就是冰糖雪梨提到的公式:(当前页码-1) * 每页条数 + 索引
2.当我的模型使用分页方法之后,User::paginate(),我打印一下能看到如下数据
image.png
image.png
3.其中currentPage就是当前页码,perPage就是每页条数。直接使用这两个方法就可以了
image.png
image.png
image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏