Директива @forelse— это структура управления, предоставляемая платформой Laravel, которая позволяет вам циклически перебирать набор данных, аналогично директиве @foreach. Однако у него есть дополнительная функция, которая позволяет указать другой блок контента для отображения в случае, если цикл пуст.
Вот пример использования директивы @forelseв Laravel:
@forelse($users as $user)
<p>{{ $user->name }}</p>
@empty
<p>No users found.</p>
@endforelse
В этом примере у нас есть переменная $users, содержащая коллекцию пользовательских объектов. Если коллекция не пуста, цикл будет перебирать каждого пользователя и отображать его имя. Однако если коллекция пуста, появится надпись «Пользователи не найдены». вместо этого будет отображено сообщение.
Вот несколько дополнительных методов, которые можно использовать в сочетании с @forelse:
-
@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, чтобы проверить, является ли это первой итерацией цикла, и отобразить специальное сообщение. -
Индекс цикла доступа:
@forelse($users as $index => $user) <p>Index: {{ $index }}, Name: {{ $user->name }}</p> @empty <p>No users found.</p> @endforelseВ этом примере показано, как получить доступ к индексу каждой итерации с помощью переменной
$index. -
@forelseс нумерацией страниц:@forelse($users as $user) <p>{{ $user->name }}</p> @empty <p>No users found.</p> @endforelse {{ $users->links() }}Если вы используете функцию разбиения на страницы Laravel, вы можете отображать ссылки на страницы после цикла
@forelseдля навигации между страницами результатов.