Выявление четных и нечетных итераций в Laravel Blade


При разработке элементов пользовательского интерфейса, таких как полоски зебры в таблицах, вам необходимо определить, является ли итерация цикла четной или нечетной, и на основании этого вы установите цвет фона строки.

В лопасть шаблоны Laravel, один из способов добиться этого будет использовать что-то вроде следующего,

@foreach ($users as $user)
    @foreach ($user->posts as $post)
        @if ($loop->iteration % 2 == 0)
            This is an even iteration
        @else 
            This is an odd iteration
        @endif
    @endforeach
@endforeach

Синтаксис, как вы можете видеть, выглядит довольно плотно. Но у Laravel есть что-то аккуратное и лучший способ сделать это.

С помощью even и odd флаги

В Blade's есть два удобных свойства $loop переменная, с помощью которой вы можете напрямую проверить четные и нечетные итерации, как это.

@foreach ($users as $user)
    @foreach ($user->posts as $post)
        @if ($loop->even)
            This is an even iteration
        @elseif ($loop->odd)
            This is an odd iteration
        @endif
    @endforeach
@endforeach

Вот, even проверит, является ли текущая итерация четной итерацией в цикле. И odd проверит, является ли текущая итерация нечетной итерацией в цикле.

Вы можете узнать больше о таких удобных свойствах $loop в официальных документах Вот,