在我的項目中,我試圖驗證該注冊信息并在注冊時驗證自己。但是發生的情況是,當您注冊時,您將我發送到登錄頁面,這是因為當我單擊注冊按鈕時,您將我發送到受中間件“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 關注
- 123 瀏覽
添加回答
舉報
0/150
提交
取消