无法找到四位数年份数据缺失

Jul*_*oro 8 php laravel laravel-seeding

我正在尝试使用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)

];
});
Run Code Online (Sandbox Code Playgroud)

给我这个错误:

A four digit year could not be found   Data missing
Run Code Online (Sandbox Code Playgroud)

我找到了原因,但不知道如何解决它.

当我打电话给工厂时,我称之为:

    factory(User::class)->create(['role_id',2]);
Run Code Online (Sandbox Code Playgroud)

如果我这样称呼它:

    factory(User::class)->create();
Run Code Online (Sandbox Code Playgroud)

我没有错误.但我真的需要培养不同类型的用户......

任何的想法???

jak*_*las 31

您是否尝试在create方法中使用键值数组:

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