@Programmir

Почему может выскакивать ошибка route 'login' not defined?

В общем, начал смотреть видео по laracasts, и там есть пример по авторизации, и я начал его повторять. У меня есть RegisterController@create(), где регистрируется новый пользователь
$user = User::create([
            'name' => $request['name'],
            'email' => $request['email'], 
            ...
])

auth()->login($user);
		
$id = auth()->id();
		
return redirect()->route('home', ['id' => $id]);


Идёт перенаправление на страницу пользователя /home/id. Но вылезает ошибка, типа route login not defined. Причём, если обновить страницу, то ошибка исчезает и всё нормально. Но auth возвращает false, типа пользователь не аутентифицирован, хотя в базу данных записался новый пользователь. И раз пользователь не аутентифицирован, то я могу зарегистрировать нового пользователя. Я это делаю, и уже ошибки, типа route login не выскакивает. Новый пользователь заносится в базу данных и идёт редирект на его страницу. И auth показывает, что пользователь уже аутентифицирован. И поэтому я нового не могу зарегистрировать. Дальше я выхожу, использую auth()->logout(). Регистрирую нового пользователя. Но опять возникает ошибка, типа route login not defined. А если обновить страницу, то всё нормально, но пользователь не аутентифицирован. В общем, опять идёт по тому же кругу. Получается, что при первой записи пользователя, почему-то auth()->login() выдаёт ошибку, но при перезагрузке страницы ошибка исчезает. И если зарегить нового пользователя, то ошибки уже нет. Видимо, где-то какие-то данные записываются, что до этого, типа он логинился. Правильно ли сделана регистрация? Я просто повторил код по видео.
  • Вопрос задан
  • 472 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Koteezy
Задайте имя вашему роуту.

( https://laravel.com/docs/5.6/routing#named-routes )
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы