SQLSTATE [22007]: Invalid datetime format: 1292 Incorrect
问答:Laravel 7 的 ISO-8601 Timestamp 新格式与 Seeding 灌数据的问题
Illuminate\Database\QueryException
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value
Laravel 7 中使用faker填充数据,出现日期自动变成ISO-8601的格式,就是生成的日期都是类似于:
2006-12-23T19:25:22.000000Z
这样的形式。
通过修改serializeDate函数可以修复这个错误。
protected function serializeDate(DateTimeInterface $date)
{
return $date->format('Y-m-d H:i:s');
}
serializeDate 这个函数在:
\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns
使用查找方式,定位这个文件。
修改了这个函数就可以正常填充数据了。
本作品采用《CC 协议》,转载必须注明作者和本文链接