Я пытаюсь посеять, используя фабрики в 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();
Я больше не получаю ошибку.
Но мне действительно нужно посеять разных пользователей …
Любая идея???
Вы пытались использовать массив значений ключа в create
метод:
factory(User::class)->create(['role_id' => 2]);
Возможно, я опоздал на вечеринку, у меня возникла та же проблема, и выясняется, потому что я указал ключ без возвращаемого значения в массиве.
избавляться от 'provider' => ''
,
Что касается причины проблемы, я действительно не знаю, но это как-то связано с углеродом