Изучение директивы @forelse Laravel на примерах кода

Директива @forelse— это структура управления, предоставляемая платформой Laravel, которая позволяет вам циклически перебирать набор данных, аналогично директиве @foreach. Однако у него есть дополнительная функция, которая позволяет указать другой блок контента для отображения в случае, если цикл пуст.

Вот пример использования директивы @forelseв Laravel:

@forelse($users as $user)
    <p>{{ $user->name }}</p>
@empty
    <p>No users found.</p>
@endforelse

В этом примере у нас есть переменная $users, содержащая коллекцию пользовательских объектов. Если коллекция не пуста, цикл будет перебирать каждого пользователя и отображать его имя. Однако если коллекция пуста, появится надпись «Пользователи не найдены». вместо этого будет отображено сообщение.

Вот несколько дополнительных методов, которые можно использовать в сочетании с @forelse:

  1. @forelseс условными операторами:

    @forelse($users as $user)
       @if($loop->first)
           <p>This is the first user.</p>
       @endif
       <p>{{ $user->name }}</p>
    @empty
       <p>No users found.</p>
    @endforelse

    В этом примере мы используем переменную $loop, предоставленную Laravel, чтобы проверить, является ли это первой итерацией цикла, и отобразить специальное сообщение.

  2. Индекс цикла доступа:

    @forelse($users as $index => $user)
       <p>Index: {{ $index }}, Name: {{ $user->name }}</p>
    @empty
       <p>No users found.</p>
    @endforelse

    В этом примере показано, как получить доступ к индексу каждой итерации с помощью переменной $index.

  3. @forelseс нумерацией страниц:

    @forelse($users as $user)
       <p>{{ $user->name }}</p>
    @empty
       <p>No users found.</p>
    @endforelse
    {{ $users->links() }}

    Если вы используете функцию разбиения на страницы Laravel, вы можете отображать ссылки на страницы после цикла @forelseдля навигации между страницами результатов.