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

Метод enum

Метод enum применяется к объекту запроса и возвращает значение поля в виде экземпляра перечисления PHP. Первым параметром передаётся имя поля, вторым - класс перечисления. Если поле не существует или его значение не соответствует ни одному из случаев перечисления, метод возвращает null.

Синтаксис

<?php $request->enum($field, $enumClass); ?>

Пример

Давайте получим значение поля 'status' в виде перечисления:

<?php use AppEnumsStatusEnum; use IlluminateHttpRequest; public function index(Request $request) { $status = $request->enum('status', StatusEnum::class); if ($status === null) { echo "Status not found or invalid"; } else { echo "Status: " . $status->value; } } ?>

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

"Status: published"

Пример

Давайте используем метод enum в контроллере для фильтрации записей:

<?php namespace AppHttpControllers; use AppEnumsStatusEnum; use AppModelsArticle; use IlluminateHttpRequest; class ArticleController extends Controller { public function index(Request $request) { $status = $request->enum('status', StatusEnum::class); if ($status !== null) { $articles = Article::where('status', $status->value)->get(); foreach ($articles as $article) { echo $article->title . "\n"; } } else { echo "Invalid status parameter"; } } } ?>

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

"article 1" "article 2" "article 3"

Пример

Давайте проверим несколько полей с разными перечислениями:

<?php namespace AppHttpControllers; use AppEnumsRoleEnum; use AppEnumsStatusEnum; use IlluminateHttpRequest; class UserController extends Controller { public function update(Request $request) { $role = $request->enum('role', RoleEnum::class); $status = $request->enum('status', StatusEnum::class); if ($role === null) { echo "Invalid role parameter"; return; } if ($status === null) { echo "Invalid status parameter"; return; } echo "User role: " . $role->name . "\n"; echo "User status: " . $status->value; } } ?>

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

"User role: admin" "User status: active"

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

  • метод input,
    который получает значение поля запроса
  • метод boolean,
    который преобразует значение поля в логический тип
  • метод integer,
    который преобразует значение поля в целое число
  • метод string,
    который преобразует значение поля в строку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить