错误如下:
Database Exception – yii\db\Exception
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '1504595835' for column 'updated_at' at row 1
The SQL being executed was: UPDATE `user` SET `password_reset_token`='zDPxEMdJ2EaaCf2VsI_Uf9QNf0q2MKcn_1504595835', `updated_at`='1504595835' WHERE `id`=19
Error Info: Array
(
[0] => 22007
[1] => 1292
[2] => Incorrect datetime value: '1504595835' for column 'updated_at' at row 1
)
我不知道updated_at字段的时间戳是从哪里分配的。
我尝试将updated_at的值设置为date(“Y-m-d H:i:s”),但仍然没有成功。
我也试着设置行为,但仍然没有运气。
有人能帮我解决这个问题吗?
4条答案
按热度按时间ckx4rj1h1#
您声明的列“updated_at”和“created_at”是错误的。您必须将其更改为
如here中所述
vqlkdk9b2#
如果要以数字格式保存updated_at,请将数据类型更改为int(11)
或者如果要以日期时间格式保存,请使用
并将数据类型更改为datetime
fxnxkyjh3#
首先将表中dataType更改为datetime。
在通用\组件中创建ActiveRecord.php
检查beforeSave函数从公共\组件\ActiveRecord扩展ActiveRecord,例如
rbl8hiat4#
首先考虑created_at和updated_at是由common/models/User模型中的行为管理的,并且您的数据库表列数据类型应该是“BIGINT”以保存这些记录。
另一种以“yyyy/mm/dd h:i:s”格式保存updated_at的方法需要删除使用模型行为函数,并在更改数据库表列数据类型后手动保存这些记录