提问人:micky 提问时间:5/31/2016 最后编辑:Sagar Ahujamicky 更新时间:9/14/2022 访问量:8257
将序列号与分页一起使用
Using serial number with paginate
问:
我正在尝试使用变量检索刀片模板中的序列号:i
<?php $i=0;?>
@foreach ($lists as $li)
<tr><td><?php $i++;?>{{$i}}</td><td>{{$li->Name}}</td><td>{{$li->Telephone}}
</td><td>{{$li->mobile}}</td>
@endforeach
{!! $lists->render() !!}
但我在控制器中使用分页:
$lists=telephone::orderBy('name')->simplePaginate(10);
所以,第一页的序列号是可以的。但是对于第二页,再次从 1 开始。i
答:
8赞
Doom5
5/31/2016
#1
更新:
下面的解决方案从 0 开始,而不是从第一页的 1 开始。从 1 开始:
$i = ($lists->perPage() * ($lists->currentPage() - 1)) + 1;
尝试设置为$i
$lists->perPage() * ($lists->currentPage() - 1)
$i = $lists->perPage() * ($lists->currentPage() - 1);
评论
0赞
Murad Hasan
5/31/2016
这就是我的意思。
0赞
Milan Bastola
8/22/2021
但问题是,数字是从 0 开始的,而不是从 1 开始的。如何解决?
1赞
Doom5
8/23/2021
@MilanBastola 一种方法是在上述操作的结果上加 1:$i = ($lists->perPage() * ($lists->currentPage() - 1)) + 1;
0赞
CodeWithArefin
11/4/2021
这个对我来说非常有效:$i = $lists->perPage() * ($lists->currentPage() - 1) + 1;
0赞
Siraj Ali
1/11/2022
关于 s.no 的问题,意味着从 1 开始,依此类推。您的解决方案只是在每页中重复从 1 到 10 的相同计数,这不是一个合适的解决方案
8赞
Anuj Shrestha
11/11/2019
#2
您还可以使用
@foreach($lists as $index => $list)
{{$index + $lists->firstItem()}} //S.N
@endforeach
$index
是该结果集中的行号,$lists->firstItem() 将获取分页结果中第一项的结果号。
0赞
Miraj Khandaker
9/14/2022
#3
如果您使用的是 laravel paginate/simplePaginate,您可以使用 laravel 提供的函数获取第一个项目编号,如下所示代码。
<?php $i = $lists->firstItem(); ?>
上一个:迁移 Laravel 中的特定表
下一个:按关系表列中的值之和排序
评论
$i