Есть таблица, в которой поле для Primary Key типа VARCHAR. Использую factory для заполнения таблицы записями. Все работает хорошо, за исключением установки сгенерированного Primary Key. Конфликтов значений поля для Primary Key нету.
Значение для Primary Key генерирую таким образом: $faker->unique()->regexify('[a-zA-Z0-9]{60}').
Моё определение фабрики для модели:
$factory->define(App\Models\Auth\ConfirmationEmail::class, function (Faker\Generator $faker) {
return [
'token' => $faker->unique()->regexify('[a-zA-Z0-9]{60}'),
'email' => $faker->email,
'counts' => $faker->randomDigit,
'status' => $faker->randomElement(config('auth.confirm.status')),
];
});
Как я понял factory намерянно не задаёт значение поля для Primary Key. Как это можно обойти без костылей?
Нужно отключить инкремент для Primary Key в моделе.
Добавив в модель строки:
/**
* Indicates if the IDs are auto-incrementing.
*
* @var bool
*/
public $incrementing = false;
Решение нашел здесь: http://stackoverflow.com/questions/25604605/laravel-eloquent-after-save-id-becomes-0
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости