Jquery &引用;SQLSTATE[23000]:完整性约束冲突:1062重复项

Jquery &引用;SQLSTATE[23000]:完整性约束冲突:1062重复项,jquery,ajax,laravel,Jquery,Ajax,Laravel,我正在用AJAX提交表单,在网络中我遇到了这个错误 "SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'k@t.com' for key 'users_email_unique' (SQL: insert into `users` (`name`, `email`, `active`, `verify`, `user_type`, `password`) values (K, k@t.com, 2, ,

我正在用AJAX提交表单,在网络中我遇到了这个错误

"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'k@t.com' for key 'users_email_unique' (SQL: insert into `users` (`name`, `email`, `active`, `verify`, `user_type`, `password`) values (K, k@t.com, 2, , 3, $2y$10$FiwHZB1VKWo0skjrCn/16epQq5aqfwdQ055PZLebaK4XEyQFNuDai))"
我正在使用Laravel5.6和迁移。这是此表的迁移

    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('email')->unique();
        $table->string('password');
        $table->tinyInteger('user_type');
        $table->tinyInteger('active');
        $table->rememberToken();
        $table->timestamps();
        $table->index('user_type');
        $table->index('active');
    });
这是我的控制器的功能

public function teacherApply(Request $request)
{

    if (Input::get()) {

        $data = Input::get();

        $email_check = User::where(['email' => $data['email'], 'active' => 1])->first();

        if (!empty($email_check))
        {
            return ["status" => 3, "message" => "Email already registered"];
        }
        else
        {

           $required_points = [

               'name'                   =>     'required',

               'firstName'              =>     'required',

               'lastName'               =>     'required',

               'email'                  =>     'required',

               'contact'                =>     'required',

               'password'               =>     'required',

               'degree'                 =>     'required',

               'field'                  =>     'required',

               'about'                  =>     'required'

           ];

        $validator = Validator::make($request->all(), $required_points);

        if ($validator->fails()) {

            return response()->json(['errors'=>$validator->errors(),'status' => 2]);

        }

        $name = $data['name'];

        $file_name    =    'Empty';

        $file         =    Input::file('image');

        if(!empty($file))
        {

        $destination   =    base_path('public/pmc_assets/teacher-samples');

        $file_name     =    upload_file($file, $destination);

        }

        $userID = User::insertGetId([

            'name'          =>     $name,

            'email'         =>     $data['email'],

            'active'        =>     2,

            'verify'        =>     '',

            'user_type'     =>     config('constant.teacher'), // Teacher

            'password'      =>     bcrypt($data['password']),
        ]);

        TeacherRequests::insert([

            'name'          =>     $data['firstName']." ".$data['lastName'],

            'phone'         =>     $data['contact'],

            'skype'         =>     $data['skype'],

            'user_id'       =>     $userID,

            'degree_type'   =>     $data['degree'],

            'degree_field'  =>     $data['field'],

            'about'         =>     $data['about'],

            'sample'        =>     $file_name,

            'resume'        =>     '',

            'active'        =>     2,

            'approved'      =>     0,

            'created_at'    =>     Carbon::now()

        ]);

        //send_to_flock_channel($name,"Manual","Teacher");

        return ["status"=> 1, "user_id" => $userID, "email" => $data['email']];

    }

    }

    return view('teacher.apply_teacher');
}

我的文件上传成功,数据也被插入到数据库中,但我仍然收到这个错误。这不会影响我,但想解决它吗?

在迁移文件$table->string('email')->unique()中; 电子邮件id具有唯一密钥您可以删除唯一密钥

您需要像这样处理验证 'email'=>'required | unique:users'而不是'email'=>'required'

更改查询,如下所示
$email\u check=User::where(['email'=>$data['email'])->first();

非常感谢您的建议!