public function behaviors(){
return [
'class' => TimestampBehavior::className(),
'createdAtAttribute' => 'cdate',// 自己根据数据库字段修改
'updatedAtAttribute' => 'mdate', // 自己根据数据库字段修改
'value' => date('Y-m-d H:i:s', time()),
];
}
这段代码,不知道错在那里。我放在model层 报错 Class cdate does not exist 怎么会这样昵。 数据库里字段没有错的。
求解?
还可以用beforeSave
因为你少一个[]
,
答案直接没了。。。。站长呢
虽然问题已解决,这里还是补充一下,
出现同样问题的可以试试以下方法:
楼主的代码除了少了一个[]括号外,
[[‘duration’,’begintime’, ‘cdate’, ‘mdate’], ‘required’]这个里面的’cdate’, ‘mdate’两个attributes可能需要删掉。
原因:
required 是在 timestampbehavior 之前执行。
required验证器执行时 timestampbehavior 还没来得及填写数据,如果此时’cdate’, ‘mdate’属性未填数据的话,required验证器会报错。结合app的错误日志,可以看看是不是required validate的问题