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

Метод has

Метод has применяется к объекту запроса Request и проверяет, присутствуют ли указанные ключи во входных данных. Метод принимает один или несколько ключей в виде строк или массива. Возвращает true, если все ключи существуют и не равны null, и false в противном случае.

Синтаксис

<?php Request::has($key); ?>

Где $key - строка с именем ключа или массив ключей для проверки.

Пример

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

<?php use Illuminate\Http\Request; Route::get('/user', function (Request $request) { if ($request->has('name')) { echo "Field 'name' exists"; } else { echo "Field 'name' does not exist"; } }); ?>

При запросе с параметром ?name=John результат будет:

"Field 'name' exists"

При запросе без параметра name результат будет:

"Field 'name' does not exist"

Пример

Давайте проверим наличие нескольких полей одновременно:

<?php use Illuminate\Http\Request; Route::post('/profile', function (Request $request) { $fields = ['name', 'email', 'phone']; if ($request->has($fields)) { echo "All fields are present"; } else { echo "Some fields are missing"; } }); ?>

Если все поля name, email и phone присутствуют в запросе, результат будет:

"All fields are present"

Если хотя бы одно из полей отсутствует, результат будет:

"Some fields are missing"

Пример

Обратите внимание, что метод has возвращает false, если поле существует, но имеет значение null:

<?php use Illuminate\Http\Request; Route::get('/test', function (Request $request) { $res = $request->has('empty_field') ? 'exists' : 'does not exist'; echo "Field 'empty_field' " . $res; }); ?>

Если передан параметр ?empty_field=null, результат будет:

"Field 'empty_field' does not exist"

Пример

Метод has можно использовать в контроллере для проверки наличия данных перед их обработкой:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { public function update(Request $request) { if ($request->has(['name', 'email'])) { $name = $request->input('name'); $email = $request->input('email'); echo "Updating user with name: $name and email: $email"; } else { echo "Required fields 'name' and 'email' are missing"; } } } ?>

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

"Updating user with name: John and email: john@example.com"

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

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