@Karpkarp

Как можно исправить ошибку trying to get property of non-object в laravel'е?

Получаю данную ошибку, если не аутентифицированный пользователь пытается перейти по маршруту
Route::get('home', 'AdminController@admin')->name('home');

По этому маршруту у меня работает посредник
public function handle(Request $request, Closure $next)
    {

        if(\Auth::user()->role_id != 1) {
            return redirect('')->with('success', 'Я вас сюда не звал');
        }

        return $next($request);
    }

Посредник проверяет поле role_id в таблице и если оно не равно 1, то кидает банан и редиректит на главную. Как я понял, ошибка возникает из-за того, что у не аутентифицированного пользователя никакой role_id нет.

Как можно исправить эту ошибку?
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 1
У тебя идет проверка уже авторизованного пользователя. Поэтому сначала нужно проверить, авторизован ли пользователь. Если нет, отправлять на страницу авторизации, а если да, то проверять свойство role_id.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 13:31
10000 руб./за проект
19 апр. 2024, в 13:12
35000 руб./за проект
19 апр. 2024, в 13:06
6000 руб./за проект