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

Posted

技术标签:

【中文标题】我们如何在 laravel php 刀片模板中为 foreach 循环定义循环变量【英文标题】:how can we define a loop variable for foreach loop in laravel php blade tempalte 【发布时间】:2020-03-18 06:27:01 【问题描述】:

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

 $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 代码欢迎任何好的建议

【问题讨论】:

laravel.com/docs/5.8/blade#the-loop-variable 看看那个 ***.com/questions/13002626/… 看到这个答案 【参考方案1】:

正如@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

【讨论】:

我们需要定义$loop变量还是预定义? @AkshayKumar 当您使用刀片循环时,它是一个循环变量。 laravel.com/docs/5.8/blade#the-loop-variable @AkshayKumar 你能帮我解决这个问题吗***.com/questions/58990038/… 是的,我一定会尝试【参考方案2】:

您正在寻找 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>

【讨论】:

然后将其中一个答案设置为正确,以关闭问题

以上是关于我们如何在 laravel php 刀片模板中为 foreach 循环定义循环变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在Laravel刀片模板中设置变量

在 Laravel 中使用刀片模板在 php 标签内打印 JavaScript 变量值

如何在刀片 Laravel 中使用带参数的 url

Laravel 4刀片模板导致FatalErrorException?

Laravel 刀片模板

如何通过ioncube对Laravel刀片文件进行编码/加密