Метод except
Метод except применяется к объекту запроса
и возвращает массив всех входных данных, за исключением
переданных ключей. Первым параметром передаётся массив
имён полей, которые нужно исключить. Если нужно исключить
одно поле, можно передать строку. Метод удобно использовать
для фильтрации данных перед их сохранением или передачей.
Синтаксис
<?php
$res = $request->except($keys);
?>
Пример
Давайте исключим поле 'password' из массива
входных данных запроса:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class UserController extends Controller
{
public function store(Request $request)
{
$res = $request->except(['password', 'password_confirmation']);
return $res;
}
}
?>
Результат выполнения кода при отправке формы с полями
'name', 'email', 'password':
[
"name" => "John Doe",
"email" => "john@example.com"
]
Пример
Давайте исключим одно поле 'token', передавая
строку вместо массива:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class AuthController extends Controller
{
public function login(Request $request)
{
$res = $request->except('token');
return $res;
}
}
?>
Результат выполнения кода при отправке данных с полями
'email', 'password', 'token':
[
"email" => "user@example.com",
"password" => "secret123"
]
Пример
Давайте используем except в сочетании с
другими методами запроса для более сложной фильтрации:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class ProfileController extends Controller
{
public function update(Request $request)
{
$validated = $request->except(['_token', '_method']);
$res = array_merge($validated, ['updated_at' => now()]);
return $res;
}
}
?>
Результат выполнения кода при отправке формы с полями
'name', 'email', '_token':
[
"name" => "Jane Doe",
"email" => "jane@example.com",
"updated_at" => "2026-09-07 12:00:00"
]