在 laravel 刀片中查找前循环的最后一次迭代

2022-08-30 10:20:37

在刀片模板中,我使用 last() 方法来查找 foreach 循环的最后一次迭代:

@foreach ($colors as $k => $v)
   <option value={!! $v->id !!} {{ $colors->last()->id==$v->id ? 'selected':'' }} > {!! $v->name !!} </option>
@endforeach

可以吗?也许有一种Laravel风格的方式可以做同样的事情?


答案 1

至于Laravel 5.3+,你可以使用$loop变量

$loop->last

@foreach ($colors as $k => $v)
     @if($loop->last)
         // at last loop, code here
     @endif
@endforeach

答案 2

如果要获取集合中最后一项的实例,则执行操作绝对没问题。

此外,在Laravel 5.3中,您可以使用变量,它允许您获取上次迭代的布尔值或获取当前迭代索引,记录总数和更多循环变量$loop$loop->last$loop->iteration$loop->count

@foreach ($posts as $post)

    {{ $post->title }} ({{ $loop->iteration }} of {{ $loop->count }})   

@endforeach

推荐