問答: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 協議》,轉載必須註明作者和本文連結