Удобная обработка дополнительных данных: методы Laravel, допускающие значение NULL

“Обнуляемый запрос Laravel: простая обработка необязательных данных”

В Laravel обработка дополнительных данных является общим требованием при работе с отправкой форм или запросами API. К счастью, Laravel предоставляет несколько методов для простой обработки данных, допускающих значение NULL. В этой статье блога мы рассмотрим различные методы и примеры кода для эффективной обработки запросов, допускающих значение NULL, в приложениях Laravel.

Методы обработки запросов, допускающих значение NULL:

  1. Метод 1: использование метода nullable()
    Метод nullable() — это удобный способ указать, что параметр запроса может быть необязательным. Добавляя этот метод к правилу проверки запроса, Laravel автоматически обрабатывает параметр как допускающий значение NULL. Вот пример:
public function store(Request $request)
{
    $validatedData = $request->validate([
        'name' => 'nullable|string|max:255',
        'email' => 'nullable|email',
    ]);
    // Rest of the code...
}
  1. Метод 2: использование метода filled()
    Метод filled()позволяет проверить, присутствует ли параметр запроса и не является ли он пустым. Вы можете использовать его для условного выполнения действий на основе наличия параметра, допускающего значение NULL. Вот пример:
public function update(Request $request, $id)
{
    if ($request->filled('description')) {
        // Perform action if 'description' parameter is present and not empty
        $description = $request->input('description');
        // Rest of the code...
    }
// Rest of the code...
}
  1. Метод 3. Использование оператора объединения значений NULL
    Оператор объединения значений NULL (??) обеспечивает краткий способ обработки запросов, допускающих значение NULL, и установки значений по умолчанию, если параметр запроса отсутствует.. Вот пример:
public function show(Request $request)
{
    $name = $request->input('name') ?? 'Guest';
    // Rest of the code...
}
  1. Метод 4. Использование метода when()
    Метод when()позволяет условно применять правила проверки запроса на основе существования другого параметра. Вы можете использовать его для обработки запросов, допускающих значение NULL, и определения конкретных правил при наличии параметра. Вот пример:
public function store(Request $request)
{
    $request->validate([
        'role' => 'nullable|string',
        'email' => 'required|string',
    ])->when($request->has('role'), function ($request) {
        $request->validate([
            'role' => 'in:admin,editor,author',
        ]);
    });
    // Rest of the code...
}