перенаправление пользователя на новую страницу после проверки его электронной почты laravel

#php #laravel

#php #laravel

Вопрос:

Я работаю над проектом laravel, пользователь зарегистрирует новую учетную запись, а затем система отправит электронное письмо с подтверждением для проверки его электронной почты, все идет отлично, но я хочу перенаправить пользователя на другую страницу после того, как он подтвердил свою электронную почту, поэтому в

VerificationController

Я могу изменить значение переменной redirectTo ,

    protected $redirectTo =  RouteServiceProvider::admin;
  

но я хочу передать идентификатор пользователя в URL, я попытался добавить

 auth()->user()->id;
  

но я получаю сообщение об ошибке

выражение не допускается в качестве значения поля по умолчанию

итак, как я могу передать идентификатор пользователя для перенаправления URL

Ответ №1:

Если вы используете Laravel <7.0 или Laravel> 7.0 в сочетании с Laravel-ui, вы можете использовать следующее.

Вместо использования $redirectTo свойства вы можете добавить redirectTo метод вместо:

 public function redirectTo()
{
    return '/admin/' . auth()->user()->id;
}
  

Источник:

Laravel <7.0

Laravel-пользовательский интерфейс

 public function redirectPath()
{
    if (method_exists($this, 'redirectTo')) {
        return $this->redirectTo();
    }

    return property_exists($this, 'redirectTo') ? $this->redirectTo : '/home';
}