Разрешить повторяющуюся запись - PullRequest
0 голосов
/ 11 ноября 2019

Большинство тем о том, чтобы избежать дублирования записи, но я хочу разрешить. вот контроллер:

$validator = Validator::make($request->all(), [
    'name' => 'required|string',
    'email' => 'required|email',
    'phone' => 'required|numeric|digits:11',
    'type' => 'required'
]);

Использование passport

Модель:

protected $fillable = [
    'name', 'email', 'phone', 'type',
];

Но это не позволило мне вставить повторяющуюся запись:

SQLSTATE [23000]: нарушение ограничения целостности: 1062 Повторяющаяся запись '0955559777' для ключа 'users_phone_unique' (SQL: вставить в users (name, email, phone,type, updated_at, created_at) значения (майк, s22@s.com, 0955559777, 1, 2019-11-11 08:16:34, 2019-11-11 08:16:34))

Там сказано users_phone_unique, но я не делаю телефон уникальным. есть идеи?

Ответы [ 2 ]

4 голосов
/ 11 ноября 2019

Создайте новую миграцию, как это

php artisan make:migration remove_unique_key_from_user_table --table=users

Теперь откройте эту миграцию и удалите здесь метод ограничения уникального ключа, например,

public function up()
{
    Schema::table('users', function (Blueprint $table) {
        $table->dropUnique('users_phone_unique');
    });
}

после завершения, повторите миграцию

php artisan migrate
3 голосов
/ 11 ноября 2019

В файле миграции пользовательской таблицы вы установили телефон как уникальный Так что вам нужно изменить его. Вырежьте уникальный ключ из миграции. &

php artisan migrate:refresh

или напишите новую миграцию и установите ее без уникального

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...