如何在 Laravel blade @each 中获取迭代值?
How do I get iterations value in Laravel blade @each?
从Laravel Documentation开始,我改了这个:
<ul>
@foreach($users as $user)
<li>{{ $loop->iteration }}</li>
<li>{{ $user->name }}</li>
<li>{{ $user->email }}</li>
@endforeach
</ul>
进入:
<ul>
@each('user.list', $users, 'user', 'user.empty')
</ul>
list.blade.php
<li>{{ $loop->iteration }}</li>
<li>{{ $user->name }}</li>
<li>{{ $user->email }}</li>
empty.blade.php
<li>There is no user is users.</li>
但是,我在 {{ $loop->iteration }}
中收到错误“未定义的变量:循环”
那么,有什么方法可以在@each 中进行迭代吗?
如解释的那样in the documentation:
Views rendered via @each
do not inherit the variables from the parent view. If the child view requires these variables, you should use @foreach
and @include
instead.
因此您的代码不会从处理循环的父视图继承 $loop
变量。
类似这样的方法可能有效:
@if (count($users)
@foreach ($users as $user)
@include("user.list", compact("user", "loop"))
@endforeach
@else
@include("user.empty")
@endif
从Laravel Documentation开始,我改了这个:
<ul>
@foreach($users as $user)
<li>{{ $loop->iteration }}</li>
<li>{{ $user->name }}</li>
<li>{{ $user->email }}</li>
@endforeach
</ul>
进入:
<ul>
@each('user.list', $users, 'user', 'user.empty')
</ul>
list.blade.php
<li>{{ $loop->iteration }}</li>
<li>{{ $user->name }}</li>
<li>{{ $user->email }}</li>
empty.blade.php
<li>There is no user is users.</li>
但是,我在 {{ $loop->iteration }}
那么,有什么方法可以在@each 中进行迭代吗?
如解释的那样in the documentation:
Views rendered via
@each
do not inherit the variables from the parent view. If the child view requires these variables, you should use@foreach
and@include
instead.
因此您的代码不会从处理循环的父视图继承 $loop
变量。
类似这样的方法可能有效:
@if (count($users)
@foreach ($users as $user)
@include("user.list", compact("user", "loop"))
@endforeach
@else
@include("user.empty")
@endif