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

Laravel Blade视图表格连续序号显示异常问题求助

解决Laravel Blade表格连续序号显示异常的问题

你的问题出在{{ $sl = 1; }}这行代码:Blade的双大括号会输出表达式的结果,而赋值语句$sl=1的返回值就是1,所以这个1会直接显示在<tbody>标签内、表格行之外的位置,也就是你看到的表格左上方。

推荐方案:使用Blade内置的循环变量

Blade在@foreach循环中提供了$loop对象,其中$loop->iteration会自动返回当前循环的序号(从1开始递增),无需手动维护序号变量,代码更简洁:

<tbody>
    @foreach ($data as $item)
        <tr>
            <td>{{ $loop->iteration }}</td>
            <td>{{ $item->category_name }}</td>
            <td>
                <a id="edit" class="btn btn-primary" href="">Edit</a>
                <a onclick="return confirm('Are you sure to delete this category?')"
                   href="{{ url('delete_category', $item->id) }}" class="btn btn-danger">Delete</a>
            </td>
        </tr>
    @endforeach
</tbody>

修复原有代码的方案

如果你坚持使用手动维护序号的方式,需要做两处修改:

  1. 使用@php标签包裹变量初始化,避免输出赋值结果;
  2. 循环变量不要使用$data(会覆盖原有的数据集变量),改为其他名称如$item:
<tbody>
    @php $sl = 1; @endphp
    @foreach ($data as $item)
        <tr>
            <td>{{ $sl }}</td>
            <td>{{ $item->category_name }}</td>
            <td>
                <a id="edit" class="btn btn-primary" href="">Edit</a>
                <a onclick="return confirm('Are you sure to delete this category?')"
                   href="{{ url('delete_category', $item->id) }}" class="btn btn-danger">Delete</a>
            </td>
        </tr>
        @php $sl++; @endphp
    @endforeach
</tbody>

内容的提问来源于stack exchange,提问作者Sourav Mandal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 19:35:31