У меня есть таблица ставок, для которой я хочу ограничить значения ставок от 1 до 5.
// Migration file for rates table
Schema::create('rates', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedInteger('user_id');
$table->morphs('rated');
$table->enum('rate', [1, 2, 3, 4, 5]);
$table->timestamps();
});
Я создал фабрику моделей для этой таблицы.
//RateFactory.php
$factory->define(Rate::class, function (Faker $faker) {
$chapter = factory(Chapter::class)->create();
return [
'user_id' => factory(User::class)->create()->id,
'rate' => $faker->randomElement([1,2,3,4,5]),
'rated_type'> get_class($chapter),
'rated_id' => $chapter->id
];
});
Когда я использую эту фабрику в тинкере:
$ php artisan tinker
>>> factory(App\Rate::class)->create();
Терминал возвращает исключение ниже:
InvalidArgumentException с сообщением «Данные отсутствуют»
В соответствии с документацией Enum Laravel Columns я пытался таким же образом.
enum не поддерживается для фабрики моделей / тестирования? Я делаю что-то не так в отношении перечислений.