Yii Framwork在ActiveRecord自动化记录时间戳
时间戳初始化有很多方法,主要介绍常用的二种:通过rules,通过beforeSave
?
通过rules
/** * @return array validation rules for model attributes. */public function rules(){ return array( array('title','length','max'=>255), array('title, created, modified', 'required'), array('modified','default', 'value'=>new CDbExpression('NOW()'), 'setOnEmpty'=>false,'on'=>'update'), array('created,modified','default', 'value'=>new CDbExpression('NOW()'), 'setOnEmpty'=>false,'on'=>'insert') );}?最后二个规则里面,前一个表示update时更新modified属性值,后一个表示insert时更新created,modified属性值。
?
通过beforesave:
public function beforeSave() { if ($this->isNewRecord) $this->created = new CDbExpression('NOW()'); else $this->modified = new CDbExpression('NOW()'); return parent::beforeSave();}?