Laravel - 播种具有不同日期格式的模型时出错

时间:2018-05-14 18:20:42

标签: laravel laravel-5 laravel-5.4 laravel-5.5

我有一个包含常规时间戳的模型(created_atupdated_at

我的模型具有属性protected $dateFormat = 'U';,以便将日期存储为Unix时间戳。

当我尝试使用这些值对表进行播种时,会出现问题。

特别是,我收到了这个错误:

PDOException::("SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '1526321484' for column 'updated_at' at row 1")

它出了什么问题?

编辑:

我正在使用MySQL 5.6.38。

1 个答案:

答案 0 :(得分:0)

由于错误消息告诉您没有使用有效的日期时间格式将数据保存到数据库。 created_atupdated_at字段需要您当前尝试保存的日期时间格式的值:1526321484格式错误。如果你真的想节省这样的时间,你应该给created_atupdated_at一个不同的数据类型,比如整数,如下所示:

$table->integer('created_at');
$table->integer('updated_at');

如果您使用它来创建created_at和updated_at时间:

$table->timestamps();

你必须删除它,因为它生成了具有日期时间格式的那些。