#laravel
#laravel
Вопрос:
Как я могу найти виновника следующей ошибки в Laravel?
Попытка получить свойство необъектной ошибки
Ответ №1:
Это, скорее всего, происходит из-за вызова метода свойства для null
объекта. Таким образом, для раннего сбоя вам следует использовать Model::firstOrFail();
или Model::findOrFail(ID);
. Кроме этого, null
проверка может выполнить это перед использованием, но это становится уродливым, если у вас много null
проверок в вашем коде.
try {} catch (Exception $e) {}
это также способ перехватить исключение и обработать его вручную, но выполнение этого во многих местах снова требует много работы.
Ответ №2:
Что я делаю, так это использую троичную операцию над моделью перед доступом к свойствам этой модели, вот так $model = Model::find($id); $model ? $name = $model->name : null;
с этим вы всегда можете быть уверены, что фатальная ошибка, которую можно выдать, не будет выдана, если модель не найдена. Это также означает, что вы должны проверить, не равно ли имя переменной null, прежде чем работать с ним следующим образом if(!is_null($name) { //do your stuff here}