Laravel 5.5在寄存器上的条件重定向

时间:2017-11-13 09:07:08

标签: php laravel laravel-5 laravel-5.5

我正在使用Laravel 5.5,我希望在不同路由上注册时重定向用途,具体取决于它是否具有自定义会话 我设法在LoginController中这样做:

get newsindex/_search
{
    "query":{"match": {"headline": "construct abnomolies"}
            }
}

但是当我在RegisterController中尝试这个时:

protected $redirectTo = '/';

    protected function redirectTo()
    {
        if (Session::has('userRequest')) {
            return route('request');
        }

        if (Auth::user()->role->name == 'admin') {
            return route('admin-dashboard');
        }

        if (Auth::user()->role->name == 'dealer') {
            return route('my-requests');
        }
    }

抛出protected $redirectTo = '/'; protected function redirectTo() { if (Session::has('userRequest')) { return route('request'); } } 异常

1 个答案:

答案 0 :(得分:3)

方法redirectTo必须返回路由/字符串。当会话没有userRequest时,该方法返回null,从而导致此错误。

将方法编辑为:

protected function redirectTo()
{
    if (\Session::has('userRequest')) {
        return route('request');
    }
    return $this->redirectTo; // or any route you want.
}