Нарушение ограничения целостности: 1062 Повторяющаяся запись в пустой базе данных LARAVEL - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь зарегистрировать пользователя, и это происходит:

SQLSTATE [23000]: нарушение ограничения целостности: 1062 Повторяющаяся запись '' для ключа 'users_nif_unique' (SQL: вставить в users (name, updated_at, created_at) значения (paco, 2020-05-03 15:16:09, 2020-05-03 15:16:09))

База данных пуста, и я проверяю ее, если laravel проверял ту же базу данных, что и я.

Странно также то, что имя принимается только в форме.

//Register COntroller

 protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => ['required', 'string', 'max:255'],
            'email' => ['required', 'email:rfc,dns','string', 'email', 'max:255', 'unique:users'],
            'password' => ['required', 'string', 'min:8', 'confirmed'],
            'nif' => ['required', 'string', 'min:8', 'regex:/^[0-9]+$/',  'max:8', 'unique:users'],
            'date_of_birth' =>['required', 'date'],
            'first_name' =>['nullable',  'string', 'min:2'],
            'last_name' =>['nullable',  'string', 'min:2'],
            'captcha' => 'required|captcha'
        ]);
    }

    /**
     * Create a new user instance after a valid registration.
     *
     * @param  array  $data
     * @return \App\User
     */
    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'nif' => $data['nif'] . self::LetraNIF($data['nif']),
            'email' => $data['email'],
            'password' => Hash::make($data['password']),           
            'date_of_birth' => $data['date_of_birth'],
            'role' => "Usuario",
            'first_name' =>$data['first_name'],
            'last_name' =>$data['last_name'],
        ]);
    }

database user Заранее спасибо!

1 Ответ

0 голосов
/ 03 мая 2020

Как всегда, это моя вина.

Я не редактировал пользователей. php для добавления различных полей.

В любом случае, спасибо!

...