Четырехзначный год не найден. Данные отсутствуют

Я пытаюсь посеять, используя фабрики в Laravel 5.2

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

$factory->define(App\User::class, function (Faker\Generator $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();

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

Любая идея???

8

Решение

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

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

27

Другие решения

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

избавляться от 'provider' => '',

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

2

По вопросам рекламы [email protected]