Метод hasAny
Метод hasAny применяется к объекту запроса Request и позволяет проверить, присутствует ли хотя бы одно из переданных полей в запросе. Первым параметром передаётся массив ключей или несколько строковых аргументов. Метод возвращает true, если хотя бы одно поле существует, и false в противном случае.
Синтаксис
<?php
$request->hasAny($keys);
?>
Пример
Давайте проверим наличие полей 'name' или 'email' в запросе:
<?php
use Illuminate\Http\Request;
Route::get('/user', function (Request $request) {
if ($request->hasAny(['name', 'email'])) {
echo "At least one field is present";
} else {
echo "No fields found";
}
});
?>
Результат выполнения кода при запросе /user?name=John:
"At least one field is present"
Пример
Давайте передадим поля как отдельные аргументы:
<?php
use Illuminate\Http\Request;
Route::get('/profile', function (Request $request) {
if ($request->hasAny('age', 'city', 'country')) {
echo "At least one field exists";
} else {
echo "All fields are missing";
}
});
?>
Результат выполнения кода при запросе /profile?city=Paris:
"At least one field exists"
Пример
Давайте проверим поля с пустыми значениями:
<?php
use Illuminate\Http\Request;
Route::get('/items', function (Request $request) {
$fields = ['title', 'description', 'price'];
if ($request->hasAny($fields)) {
$presentFields = array_intersect($fields, $request->keys());
echo "Present fields: " . implode(', ', $presentFields);
} else {
echo "No fields provided";
}
});
?>
Результат выполнения кода при запросе /items?title=&description=Lorem:
"Present fields: title, description"
Смотрите также
-
метод
has,
который проверяет наличие указанного поля -
метод
filled,
который проверяет наличие и непустое значение поля -
метод
missing,
который проверяет отсутствие поля -
метод
whenFilled,
который выполняет действие при наличии заполненного поля