РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
18 of 1392 menu

Директива forelse

Директива forelse в Blade представляет собой комбинацию конструкций foreach и empty. Она позволяет перебрать элементы массива или коллекции, а в случае, если переданная переменная пуста или не содержит элементов, отобразить блок кода, указанный после директивы empty. Первым параметром передаётся переменная для итерации с использованием синтаксиса $item as $value, где $item - перебираемый массив или коллекция, а $value - текущий элемент.

Синтаксис

@forelse ($items as $item) {{ $item }} @empty <p>No items found</p> @endforelse

Пример

Выведем список статей, а если их нет, покажем сообщение:

<ul> @forelse ($articles as $article) <li>{{ $article->title }}</li> @empty <li>No articles available</li> @endforelse </ul>

Результат выполнения кода при наличии статей:

<ul> <li>Article 1</li> <li>Article 2</li> <li>Article 3</li> </ul>

Результат выполнения кода при пустом массиве:

<ul> <li>No articles available</li> </ul>

Пример

Используем директиву forelse для вывода пользователей с проверкой наличия данных:

<div class="users-list"> @forelse ($users as $user) <p>User: {{ $user->name }}</p> @empty <p>No registered users</p> @endforelse </div>

Пример контроллера, передающего данные в представление:

<?php namespace App\Http\Controllers; use App\Models\User; class UserController extends Controller { public function index() { $users = User::all(); return view('users.list', ['users' => $users]); } } ?>

Результат выполнения кода при наличии пользователей:

<div class="users-list"> <p>User: John Doe</p> <p>User: Jane Smith</p> <p>User: Bob Johnson</p> </div>

Результат выполнения кода при отсутствии пользователей:

<div class="users-list"> <p>No registered users</p> </div>

Пример

Директива forelse также поддерживает переменную $loop, которая предоставляет информацию о текущей итерации:

@forelse ($categories as $category) <p>Category {{ $loop->iteration }}: {{ $category->name }}</p> @empty <p>No categories found</p> @endforelse

Результат выполнения кода:

<p>Category 1: Technology</p> <p>Category 2: Science</p> <p>Category 3: Art</p>

Смотрите также

  • директива foreach,
    которая выполняет перебор элементов без обработки пустого массива
  • директива empty,
    которая проверяет переменную на пустоту
  • директива for,
    которая создаёт цикл с заданным количеством итераций
  • директива while,
    которая создаёт цикл с условием
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить