找不到四位数的年份 缺少数据


A four digit year could not be found Data missing

我正在尝试使用 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' => ''.

至于问题的原因我真的不知道,但这与碳

有关

我在使用批量分配时遇到了同样的问题,结果我忘记将我的输入数组包装在请求助手函数中

那是我有模型::创建([表单输入]);

而不是模型::创建(请求([表单输入]);

以防万一有人遇到它。

我最近遇到了同样的问题,最近我发现唯一的问题是我在时间戳列类型中放置了一个无效的值

就我而言,我有第 email_verified_at [timestamp] 列.我想念明白我放了一个像company@example.com这样的字符串而不是日期值,它应该是now().