【发布时间】:2016-10-13 13:28:22
【问题描述】:
在我的 yii2 高级模板中,我得到了数据库的异常 SQLSTATE[22003]。
带有此错误消息:
SQLSTATE[22003]:数值超出范围:1264 第 1 行的列“created_at”的值超出范围 正在执行的 SQL 是:INSERT INTO
user(username,password_hash,auth_key,status,created_at,updated_at) VALUES ('test', 'test@email .it', 'someval', 'someval', 10, NOW(), NOW())
我检查了导致此异常的字段(我假设是日期字段 created_at 和 updated_at),它们都是 int(20)。
在模型中我有时间戳行为:
/**
* @inheritdoc
*/
public function behaviors()
{
return [
[
'class' => TimestampBehavior::className(),
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => ['created_at', 'updated_at'],
ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'],
],
'value' => new \yii\db\Expression('NOW()')
],
];
}
我真的不知道是什么导致了这个错误。这是 yii2 高级模板中插入的标准注册功能。
提前感谢您的帮助
【问题讨论】: