我有一个带有常规时间戳的模型(created_at
,updated_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。
正如错误消息告诉您没有使用有效的日期时间格式将数据保存到数据库中一样。created_at
和updated_at
字段需要您当前尝试保存的日期时间格式的值:1526321484
这是错误的格式。如果你真的想像这样节省时间,你应该给created_at
和updated_at
一个不同的数据类型,如整数,如下所示:
$table->integer('created_at');
$table->integer('updated_at');
如果您使用它来创建created_at和updated_at时间:
$table->timestamps();
您必须删除它,因为它生成了具有日期时间格式的那些。