我收到2 errore而使用已经被插入BE完整性约束违规:1062重复条目
电子邮件提交申请表单完整性约束违规:1062重复项“[email protected]”关键'users_email_unique'
。
SQLSTATE [23000]:完整性约束冲突:关键 'users_email_unique' 1062重复项 '[email protected]'
我有数据库索引users_email_unique这将导致错误,但我怎么能处理这样的错误
型号
<?php
namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable {
protected $table = "users";
protected $fillable = array('first_name', 'last_name', 'password', 'email');
protected $hidden = ['password', 'remember_token'];
public function roles() {
return $this->belongsToMany('App\Role', 'user_role', 'user_id', 'role_id');
}
public function hasAnyRole($roles) {
if(is_array($roles)) {
foreach($roles as $role) {
if($this->hasRole($role)) {
return true;
}
}
}
else {
if($this->hasRole($roles)) {
return true;
}
}
return false;
}
public function hasRole($role) {
if($this->roles()->where('name', $role)->first()) {
return true;
}
return false;
}
}
条
控制器
<?php
namespace App\Http\Controllers;
use App\Post;
use App\ContactMessage;
use App\User;
use App\Role;
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Redirect;
use Illuminate\Support\Facades\Auth;
class AdminController extends Controller {
public function postSignUp(Request $request) {
$rules = [
'first_name' => 'required|min:3|max:80|alpha',
'last_name' => 'required|min:3|max:80|alpha',
'email' => 'required|between:3,64|email',
'password' => 'required|alphaNum|between:4,8|confirmed',
'password_confirmation'=> 'required|alphaNum|between:4,8'
];
$validator = Validator::make(Input::all(), $rules);
if($validator->fails()){
return Redirect::route('signup')->withErrors($validator)->withInput();
}
$user = new User();
$user->first_name = $request['first_name'];
$user->last_name = $request['last_name'];
$user->email = $request['email'];
$user->password = bcrypt($request['password']);
if($user->save()){dd('aaaaa');
$user->roles()->attach(Role::where('name', 'User')->first());
Auth::login($user);
return redirect()->route('blog.index');
}
else {
dd('sssss');
}
}
}
路线
Route::get('/signup', ['uses' => '[email protected]','as' => 'signup']);
Route::post('/signup', ['uses' => '[email protected]','as' => 'signup']);
[Laravel赶上雄辩的 “唯一” 字段错误(HTTP的可能重复://计算器.COM /问题/ 27878719/laravel-追赶雄辩唯一场误差) – ArSeN