我想在用户首次登录时将其重定向到edit.blade页面。为此,我编写了此代码,但是它不起作用,我也不知道问题出在哪里。有人可以帮我吗?
这是我现在拥有的代码:
// This section is the only change
if ($this->guard()->validate($this->credentials($request))) {
$user = $this->guard()->getLastAttempted();
// Make sure the user is active
if ($user->verified && $this->attemptLogin($request)) {
if ($user->first_time_login == true || $user->first_time_login == 1) {
$this->redirectTo = '/users/edit';
$user->first_time_login = false;
$user->save();
}
return $this->sendLoginResponse($request);
}
}
除此行外,所有内容均有效:
if ($user->first_time_login == true || $user->first_time_login == 1) {
$this->redirectTo = '/users/edit';
}
答案 0 :(得分:0)
您可以使用this.renderer.image(
url,
point.plotX - (imgWidth / 5),
point.plotY + this.plotTop - imgHeight,
imgWidth,
imgHeight
).attr({
zIndex: 3
}).add();
属性或redirectTo
方法执行此操作:
redirectTo属性: docs
如果重定向路径需要自定义生成逻辑,则可以定义一个 redirectTo方法而不是redirectTo属性:
authenticated
已认证的方法:
protected function redirectTo()
{
$user = Auth::user();
if($user->first_time_login){
$user->first_time_login = false;
$user->save();
return '/users/edit';
}else{
return '/home';
}
}
答案 1 :(得分:0)
我发现了问题,我必须在auth函数的底部添加return redirect()->to('/users/edit');
,如果用户尚未导航到其他已验证的路由,则$ this-> redirrectTo是默认值。
我的代码现在看起来像这样:
if ($user->first_time_login == true || $user->first_time_login == 1) {
$this->redirectTo = '/users/edit';
$user->first_time_login = false;
$user->save();
return redirect()->to('/users/edit');
}