Четырехзначный год не удалось найти данные отсутствуют

Я пытаюсь посеять с помощью фабрик в Laravel 5.2

мой код умирает на заводе пользователя:

$factory->define(AppUser::class, function (FakerGenerator $faker) {
$countries = Countries::all()->pluck('id')->toArray();

return [
    'name' => $faker->name,
    'email' => $faker->email,
    'password' => bcrypt(str_random(10)),
    'grade_id' => $faker->numberBetween(1, 5),
    'country_id' => $faker->randomElement($countries),
    'city' => $faker->city,
    'latitude' => $faker->latitude,
    'longitude' => $faker->longitude,
    'role_id' => $faker->numberBetween(1, 3),
    'verified' => true,
    'remember_token' => str_random(10),
    'provider' => '',
    'provider_id' => str_random(5)

];
});

дает мне эту ошибку:

A four digit year could not be found   Data missing

Я нашел причину, но не знаю как это исправить.

когда я звоню на фабрику, я называю это так:

    factory(User::class)->create(['role_id',2]);

если я назову это так:

    factory(User::class)->create();

Я больше не получаю ошибок. Но мне действительно нужно посеять разных пользователей...

есть идеи???

2 ответов


вы пробовали использовать массив значений ключа в create способ:

factory(User::class)->create(['role_id' => 2]);


Я мог опоздать на вечеринку, у меня была та же проблема, и оказалось, что это потому, что я предоставил ключ без возвращаемого значения в массиве.

избавиться 'provider' => ''.

что касается причины проблемы, я действительно не знаю, но это имеет какое-то отношение к углероду