如何在 Laravel Blade 模板中仅显示集合中第一项的内容

2022-08-30 14:41:19

我在 Blade 模板中有一个@foreach循环,需要对集合中的第一项应用特殊格式设置。如何添加条件以检查这是否是第一项?

@foreach($items as $item)
    <h4>{{ $item->program_name }}</h4>
@endforeach`

答案 1

Laravel 5.3 在循环中提供了一个变量。$loopforeach

@foreach ($users as $user)
    @if ($loop->first)
        This is the first iteration.
    @endif

    @if ($loop->last)
        This is the last iteration.
    @endif

    <p>This is user {{ $user->id }}</p>
@endforeach

文档: https://laravel.com/docs/5.3/blade#the-loop-variable


答案 2

苏豪区,

最快的方法是将当前元素与数组中的第一个元素进行比较:

@foreach($items as $item)
    @if ($item == reset($items )) First Item: @endif
    <h4>{{ $item->program_name }}</h4>
@endforeach

或者,如果它不是关联数组,则可以按照上面的答案检查索引值 - 但如果数组是关联的,则不起作用。


推荐