laravel: защита от запроса, который возвращается null - PullRequest
0 голосов
/ 13 февраля 2020

У меня был запрос, который проверяет таблицу User для пользователя, у которого есть указанный c код, и захватывает этого пользователя и устанавливает его в $ mainCustomer. Я только что понял, что есть ситуации, когда не может быть Пользователь с таким кодом. Я думал, что моя проверка под этим для ! $mainCustomer охватит меня, но я полагаю, что мог бы получить ошибку с самим запросом, если он будет нулевым. Как я могу защитить от ошибки с запросом?

        $mainCustomer = User::where('code', '=', $value_code)->first();

        if (! $mainCustomer) {
            log_info("doesn't exist");

            return;
        }

1 Ответ

2 голосов
/ 13 февраля 2020

return User::where('code', '=', $value_code)->firstOrFail();

Метод извлекает первый результат запроса; однако, если результат не будет найден, будет выдано Illuminate\Database\Eloquent\ModelNotFoundException: если исключение не перехвачено, ответ 404 HTTP автоматически отправляется обратно пользователю. Нет необходимости писать явные проверки для возврата 404 ответов при использовании этих методов.

Это то, что вам нужно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...