如何使用laravel分页进行增量行号?当我使用分页时,我转到第2页及以上,它将回到开头。例如,我将分页(3)
<thead>
<tr>
<th>No</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<?php $i = 1; ?>
@foreach ($telephone->results as $telp)
<tr>
<td>
{{$i++}}
</td>
<td>{{ $telp->name }}</td>
</tr>
@endforeach
</tbody>
当我转到第2页时,号码将从1开始。
当我转到第2页时,我需要制作它,它将从4开始。
答案 0 :(得分:6)
您应该能够使用getFrom
方法获取当前页面结果的起始编号。因此,您应该能够执行此操作,而不是设置$i = 1;
。
<?php $i = $telephone->getFrom(); ?>
在Laravel 3中没有getFrom
方法,因此您需要手动计算它。
<?php $i = ($telephone->page - 1) * $telephone->per_page + 1; ?>
答案 1 :(得分:6)
在Laravel 5.3中,您可以使用firstItem():
@foreach ($items as $key => $value)
{{ $items->firstItem() + $key }}
@endforeach
答案 2 :(得分:5)
以下内容适用于laravel 5.4
@foreach ($telephone as $key=> $whatever)
<td>{{ $key+ $telephone->firstItem() }}</td>
@endforeach
<强>被修改强> 以下适用于上面的laravel 5.7
#loop should start here
pop_size=50
#128 to #135 loop
W = initial_population(region, scale , pop_size)
pop = PatternPosePopulation(W, pat)
pop.set_distance_image(imd)
pop.temperature = 5
Lw, Lc = pop.particle_filter_search(int(1000/pop_size),log=True)
#Loop should end here for example run pop 50 x n times and store best_cost, take average of bestcost save to csv file.
plt.plot(Lc)
plt.title('Cost vs generation index')
plt.show()
print(pop.best_w)
print(pop.best_cost)
答案 3 :(得分:3)
Laravel 5.3
@foreach ($products as $key=>$val)
{{ ($products->currentpage()-1) * $products->perpage() + $key + 1 }}
@endforeach
答案 4 :(得分:1)
您只需添加以下行
即可$i = ($telephone->currentpage()-1)* $telephone->perpage();
取代
$i = 1;
答案 5 :(得分:1)
@php($sl = ($yourVariable->perPage() * $yourVariable->currentPage()) - ($yourVariable->perPage() - 1))
@foreach($yourVariable as $item)
<td>{{ $item->key_name }}</td>
.....
@php($sl++)
@endforeach
答案 6 :(得分:1)
对于Laravel 6.2: $ loop-以防万一,它是Blade中的内置实例
@foreach($array as $item)
<tr class="table-row">
<td class="site-id">
{{($array->currentPage() - 1) * $array->perPage() + $loop->iteration}}
</td>
</tr>
@endforeach
</table>
答案 7 :(得分:1)
在Laravel 6中
@php $i = ($data->currentpage()-1)* $data->perpage() + 1;@endphp
@foreach($data as $banner)
<tr>
<td>{{$i}}</td>
<td><img src="{{ URL::to('/') }}/dist/img/{{$banner->name}}" height="250" width="600"></td>
</tr>
@php $i += 1; @endphp
@endforeach
答案 8 :(得分:0)
完全避免使用php标签
@foreach ($users as $key => $user)
{{ (Input::get('page', 1) - 1) * $users->getPerPage() + $key + 1 }}
@endforeach
答案 9 :(得分:0)
如果您正在使用Laravel分页。效果很好
后端
public function index()
{
return view('your.telephone.index', [
'telephone' => Telephone::paginate(15)
]);
}
刀片前端
<td>{{ (($telephone->currentPage() * 10) - 10) + $loop->iteration }}</td>
别忘了嵌入页面
{{ $telephone->links() }}
对于$loop->iteration
在此处查看文档:{{3}}
对于$telephone->currentPage()
在此处查看文档:{{3}}
答案 10 :(得分:0)
您可以在控制器中使用它。下面给出的例子
$records = Table::paginate(20);
return view('yourview',compact('records')->with('i', ($request->input('page', 1) - 1) * 20);
注意:分页值必须等于with()函数vlaue
之后,您可以在刀片文件中使用 $i 变量。控制器根据页码计算值返回刀片
在刀片文件中。在循环内使用
{{ ++$i }}
希望对你有帮助