@Vova135798

Как решить ошибку Call to a member function admin() on null?

Делаю страницу для администратора. Создал middleware и прописал проверку, добавил роуты. Но в проверке возникает ошибка: 'Call to a member function admin() on null'

public function handle(Request $request, Closure $next)
    {
        if(Auth::user()->admin()==0){
            return redirect()->route('index');
        }

        return $next($request);
    }


Route::get('/admin', [App\Http\Controllers\AdminController::class, 'admin'])->middleware('isadmin');
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега Laravel
frontend developer
public function handle(Request $request, Closure $next)
{
  if (Auth::guest() || Auth::user()->admin()==0){
    return redirect()->route('index');
  }
  return $next($request);
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@kandrash
Кратко о себе
Очевидно вход не выполнен. Что при этом вернёт Auth::user()?
Ответ написан
Комментировать
tmaslov22
@tmaslov22
Backend developer
Тут проверяется является ли юзер админом, но не факт что юзер вошел в свой аккаунт. Нужно этот кейс тоже учесть.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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