在我的项目中,我试图验证该注册信息并在注册时验证自己。但是发生的情况是,当您注册时,您将我发送到登录页面,这是因为当我单击注册按钮时,您将我发送到受中间件“Auth”保护的路由。也就是说,您没有在同一个注册操作中进行身份验证。protected function create(RequestFormRegister $data){ $userCount = User::where(['email'=> $data['email']])->count(); if($userCount>0){ return redirect()->back()->with('error', '¡El correo ya existe!'); }else{ $user = User::create([ 'nombres' => $data['nombres'], 'apellidos' => $data['apellidos'], 'ni' => $data['ni'], 'role_id' => 2, 'email' => $data['email'], 'password' => Hash::make($data['password']), 'password_confirmation' => Hash::make($data['password_confirmation']), 'remember_token'=> str_random(15), ]); }}使用之前的功能,系统将数据记录在 BD 中。但后来我必须去登录。(我不想要的东西)如果我使用 laravel 默认自带的功能 protected function create(array $data){ User::create([ 'nombres' => $data['nombres'], 'apellidos' => $data['apellidos'], 'ni' => $data['ni'], 'role_id' => 2, 'email' => $data['email'], 'password' => Hash::make($data['password']), 'password_confirmation' => Hash::make($data['password_confirmation']), 'remember_token'=> str_random(15), ]);}我收到以下错误 在此处输入图像描述这种情况的解决方案是什么。我使用 Laravel 5.8 和 AdminLte 作为模板
1 回答

ibeautiful
TA贡献1993条经验 获得超6个赞
您可以手动登录新创建的用户并将其重定向到主页。
protected function create(RequestFormRegister $data)
{
$userCount = User::where(['email'=> $data['email']])->count();
if($userCount>0){
return redirect()->back()->with('error', '¡El correo ya existe!');
}else{
$user = User::create([
...
]);
// Manually logging user
Auth::login($user);
return redirect()->route('homepage');
}
}
https://laravel.com/docs/master/authentication#other-authentication-methods
- 1 回答
- 0 关注
- 132 浏览
添加回答
举报
0/150
提交
取消