问题描述
尝试注册用户时遇到此错误。我想通过注册,因为数据已插入数据库中,但是随后抛出此错误,而不是重定向到仪表板。
我对此很陌生,所以我不确定错误是从哪里来的。我已经尝试过在线搜索解决方案,但是没有遇到任何问题。
这是我的registerController
protected $redirectTo = RouteServiceProvider::HOME;
protected function redirectTo()
{
$user = auth()->user();
if ($user->role == 'guest') {
return route('guest.profile');
} else if ( $user->role == 'superadmin' ) {
return route('superadmin.home');
}
}
public function __construct()
{
$this->middleware('guest');
}
protected function validator(array $data)
{
return Validator::make($data,[
'first_name' => ['required','string','max:255'],'last_name' => ['required','email' => ['required','email','max:255','unique:users'],'password' => ['required','min:6','confirmed'],]);
}
protected function create(array $data)
{
return User::create([
'first_name' => $data['first_name'],'last_name' => $data['last_name'],'email' => $data['email'],'password' => Hash::make($data['password']),]);
}
解决方法
终于看到了我的错误。本来应该向else重定向方法添加一个else块。 添加它,错误消失了。
protected function redirectTo()
{
$user = auth()->user();
if ($user->role == 'guest') {
return route('guest.profile');
} else if ( $user->role == 'superadmin' ) {
return route('superadmin.home');
} else {
return route('home');
}
}
非常感谢您的帮助