От чего ошибка «Trying to get property of non-object»?

Laravel.
$test = Tests::first();
return $test->name;

В этом случае работает код без ошибок, но если введу условие:
$test = Tests::where('category_id','=',$category_id)->first();
return $test->name;

Тут вылетает ошибка:
Trying to get property of non-object и указывает на $test->name;
5b9d5e17b0fe2782516784.gif
От чего эта ошибка? Почему добавление условия всё портит?
  • Вопрос задан
  • 13733 просмотра
Пригласить эксперта
Ответы на вопрос 2
@imhuman
Видимо, нет такой категории, соответственно нет объекта и его свойства, о чем и говорит текст ошибки
Ответ написан
eXcNightRider
@eXcNightRider
FullStack Web Developer | DevOps
Если результат запроса пустой, first() вернёт NULL, стоит проверить $test на NULL прежде чем его возвращать

P.S - если в where первый и третий аргументы должны быть равны, второй ('=') можно опустить и написать
where('category_id',$category_id)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы