2017-11-13 7 views
1

Laravel 5.5를 사용하고 있는데 사용자 지정 세션이 있는지 여부에 따라 다른 경로에 등록 할 때 사용을 리디렉션하고 싶습니다. LoginController에서 다음과 같이 관리했습니다 :Laravel 5.5 조건부 리디렉션

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'); 
     } 
    } 

하지만 난 RegisterController이를하려고하면

protected $redirectTo = '/'; 

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

그것은 발생 Object of class Illuminate\Routing\Redirector could not be converted to string 예외

답변

2

나를 thod redirectTo은 경로/문자열을 반환해야합니다. 세션에 userRequest가없는 경우이 메서드는 null을 반환하여이 오류를 발생시킵니다.

편집 방법이 될 수 있습니다 :

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