2017-08-14 127 views
0

使用Laravel 5.4我正在使用内置身份验证过程。

我要动态地改变这样的:

/** 
* URI where we redirect to after registration 
* 
* @var string 
*/ 
protected $redirectTo = 'player/home'; 

像这样:

/** 
* The "booting" method of the model. 
*/ 
protected static function boot() 
{ 
    if (session()->has('game.details.redirect')) { 
     $this->redirectTo = session()->get('game.details.redirect'); 
    } 
} 

但上面的,因为我不能在静态方法来访问$this不起作用。每次访问控制器时,我如何实现这个任务?

回答

2

您可以定义功能redirectTo而不是loginController中的属性。

由于Laravel医生说:

如果重定向路径需要定制生成逻辑,你可以定义一个redirectTo方法,而不是redirectTo财产

function redirectTo(){ 
     if (session()->has('game.details.redirect')) { 
      return session()->get('game.details.redirect'); 
     } 
    } 

而且,它也是更首选方法。

redirectTo方法将优先于redirectTo属性。

了解更多关于在这里:​​Laravel Authentication

希望这回答了你的问题。