Php 找不到缺少数据的四位数年份
我正在尝试在拉拉维尔5.2中使用工厂种子 我的代码在用户工厂中失效: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,
$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中覆盖工厂属性时都会遇到这个问题。这篇文章每次都会帮上忙。