@Forge0100

Почему появляется ошибка «Trying to get property of non-object» в Laravel(е)?

$attendedfestivals = Planner::where('user_id', Auth::user()->id)->where('planned_festivals', 0)->get();

Почему эта строка выдает ошибку?
Ставить "->first()" вместо "->get()" пробовал!!!
97ad9b826e73407cbd407cbaf1146f4f.png
  • Вопрос задан
  • 2308 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
if (auth()->check())
{
    $attendedfestivals = Planner::where('user_id', auth()->user()->id)->where('planned_festivals', 0)->get();
}
else
{
    // Обрабатываем ситуацию, когда пользователь неавторизован.
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Melkij
@Melkij
PostgreSQL DBA, contributor
Поскольку это именно Trying to get property, а не Call to a member function, значит из всей строки на роль проблемного места подходит только Auth::user()->id. А именно, Auth::user() возвращает что-то, не являющееся объектом.

И да, если пользователь не авторизован, то Auth::user() будет возвращать null.
Ответ написан
LittleFatNinja
@LittleFatNinja
горе девелопер, любитель лютой садомии
пытаешься взять свойство не у обьекта
проверь, установлен ли у тебя Auth::user()
Ответ написан
Ваш ответ на вопрос

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

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