繁体   English   中英

我们如何在 laravel php 刀片模板中为 foreach 循环定义循环变量

[英]how can we define a loop variable for foreach loop in laravel php blade tempalte

我试过这个,但它被打印在前面

{{ $x=1}}
@if(count($bookings))
    @foreach ($bookings as $data)
        <tr>
            <td>{!! $x !!}</td>
            <td>{!! $data->service->id !!}</td>
            <td>{!! $data->service->title !!}</td>
            <td>{!! $data->full_name !!}</td>
            <td>{!! $data->email !!}</td>
            <td>{!! $data->phone !!}</td>
            <td>{!! date('d-m-Y', strtotime($data->booking_date))  !!} {!! $data->slot_start_from !!}</td>
        {{$x++}}
    @endforeach

此代码无效 x 的值已打印。 我不想在这里使用代码 php 代码欢迎任何好的建议

正如@RomanBobrik 所说,使用循环变量$loop来获取迭代

    @foreach ($bookings as $data)
        <tr>
            <td>{{ $loop->iteration }}</td>
            <td>{{ $data->service->id }}</td>
            <td>{!! $data->service->title !!}</td>
            <td>{!! $data->full_name !!}</td>
            <td>{{ $data->email }}</td>
            <td>{!! $data->phone !!}</td>
            <td>{!! date('d-m-Y', strtotime($data->booking_date))  !!} {!! $data->slot_start_from !!}</td>

    @endforeach

您正在寻找循环变量,它存在于 Laravel Blade 中。

https://laravel.com/docs/5.8/blade#the-loop-variable

所以,只需使用:

<td>{!! $loop->index !!}</td>

如果您有 Laravel 5.2 及更低版本,则没有循环变量。 在这种情况下,您可以使用@php快捷方式

@php $x=1 @endphp
...
<td>{!! $x++ !!}</td>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM