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

新手上路,请多包涵

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

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

可以吗?也许有一种 Laravel 风格的方法可以做到这一点?

原文由 user947668 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 449
2 个回答

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

$loop->last

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

原文由 Tom Kur 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您想获取集合中最后一项的实例,您所做的绝对没问题。

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

@foreach ($posts as $post)

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

@endforeach

原文由 Sebastian Sulinski 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题