Laravel 5: при создании фабрики моделей типа данных Enum возвращается InvalidArgumentException: данные отсутствуют - PullRequest
1 голос
/ 19 марта 2019

У меня есть таблица ставок, для которой я хочу ограничить значения ставок от 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 не поддерживается для фабрики моделей / тестирования? Я делаю что-то не так в отношении перечислений.

...