Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 找不到缺少数据的四位数年份_Php_Laravel_Laravel Seeding - Fatal编程技术网

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

Php 找不到缺少数据的四位数年份,php,laravel,laravel-seeding,Php,Laravel,Laravel Seeding,我正在尝试在拉拉维尔5.2中使用工厂种子 我的代码在用户工厂中失效: $factory->define(App\User::class, function (Faker\Generator $faker) { $countries = Countries::all()->pluck('id')->toArray(); return [ 'name' => $faker->name, 'email' => $faker->email,

我正在尝试在拉拉维尔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();
如果我这样称呼它:

    factory(User::class)->create(['role_id',2]);
    factory(User::class)->create();
我不再犯错误了。 但我真的需要播种不同类型的用户


有什么想法吗?

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


factory(User::class)->创建(['role\u id'=>2])

我可能会迟到,我也遇到了同样的问题,结果证明是因为我提供了一个在返回的数组中没有值的键

摆脱
'provider'=>''


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

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

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

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


以防万一。

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


在我的例子中,我在[timestamp]
上有一列
email\u verified\u。我没有理解我放了一个字符串,比如
company@example.com
而不是日期值,它应该是
now()

您是否尝试过在create中使用键值数组,比如:
factory(User::class)->create(['role\u id'=>2])
OMG太蠢了!请把它作为答案!我也有同样的问题,我花了大约2分钟才注意到
=>
而不是
create
的数组参数中。你让我开心@anpelsho谢。我也犯了同样的错误。这是一条可怕的错误消息,不是吗?根本不能描述实际问题。对我来说是这样是否通过
protected$dateFormat='Y-m-d H:i:sO';
提供了日期格式,由于迁移错误,该格式与列的格式不匹配。carbon不喜欢这样,并抛出了一个“数据丢失”错误错误。谢谢你。我完全忘记了这是
关联数组
,我每次在模型工厂中使用碳元素并试图在创建方法ha中覆盖工厂属性时都会遇到这个问题。这篇文章每次都会帮上忙。