首页 > 解决方案 > Laravel UI 重复电子邮件错误完整性约束违规:1062

问题描述

我正在使用 Laravel ui 进行多重身份验证。但是当我输入重复的电子邮件时,我收到了这个错误:

SQLSTATE [23000]:完整性约束违规:1062 键“customers_email_unique”的重复条目“justshamsulalom2@gmail.com”(SQL:插入customersname、、、、、、、、、)值(MSA Rahat、justshamsulalom2 reffer、justshamsulalom2 email@ gmail.com , 2, UkvY5kOxlBm6bbKn9Jzm, $2y$10$vZAOY8mbvEk7SGDVjJ2mmuicQirSe68wT6S4ZuvcRHd7iwZvW5hQa, 2021-06-28 07:00:39, 2021-06-28 07:00:39))statusref_idpasswordupdated_atcreated_at

这是我的注册控制器代码:

public function submit(Request $request) {
    $request->validate([
        'email'    => 'required|max:255|unique:users,email',
        'password' => 'required|min:8',
    ]);

    $user =  Customer::create([
        'name'     => $request['name'],
        'refer'    => $request['refer'],
        'email'    => $request['email'],
        'status'   => 2,
        'ref_id'   => Str::random(20),
        'password' => Hash::make($request['password']),
    ]);

    return redirect()->intended('/user/login');
}

标签: laravel

解决方案


替换unique:usersunique:customers,然后通过customers表格电子邮件进行验证。

最终代码将是:

$request->validate([
   'email'    => 'required|max:255|unique:customers,email',
   'password' => 'required|min:8',
]);

$user =  Customer::create([
   'name'     => $request['name'],
   'refer'    => $request['refer'],
   'email'    => $request['email'],
   'status'   => 2,
   'ref_id'   => Str::random(20),
   'password' => Hash::make($request['password']),
]);

return redirect()->intended('/user/login');

推荐阅读