Код: Выделить всё
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'sahan12@gmail.com' for key 'users_email_unique'
- Я использую миграцию для создания таблицы пользователей, а столбец электронной почты настроен как уникальный.
- Я также использовал сеялку Laravel для создания поддельных данных в этой таблице перед попыткой вставки.
Код: Выделить всё
Schema::create('users', function (Blueprint $table) {
$table-\>id();
$table-\>string('name');
$table-\>string('email')-\>unique();
$table-\>string('user_name')-\>unique()-\>nullable();
$table-\>string('phone')-\>unique()-\>nullable();
$table-\>timestamp('email_verified_at')-\>nullable();
$table-\>string('password');
$table-\>rememberToken();
$table-\>enum('role', \['student', 'teacher', 'admin'\]);
$table-\>boolean('is_active')-\>default(1);
$table-\>timestamps();
$table-\>softDeletes();
});
Код: Выделить всё
public function rules(): array
{
$rules = [
'user_name' => [
'nullable',
'string',
Rule::unique('users', 'user_name'),
],
'email' => [
'required',
'email',
Rule::unique('users', 'email'),
],
];
return $rules;
}
Код: Выделить всё
DB::table('users')->where('email', 'sahan12@gmail.com')->first()
Мои вопросы:
- Почему Laravel/MySQL выдает ошибку «Дубликат записи» для электронного письма, которое, по-видимому, не существует в базе данных?
- Как я могу устранить или решить эту проблему?
Подробнее здесь: https://stackoverflow.com/questions/788 ... xist-in-my
Мобильная версия