Код: Выделить всё
<?php
class AutoTimestampBehavior extends CActiveRecordBehavior {
/**
* Имя поля, хранящего время создания модели.
*/
public $created = 'created';
/**
* Имя поля, хранящего время изменения модели.
*/
public $modified = 'modified';
public function beforeValidate($on) {
if ($this->Owner->isNewRecord)
$this->Owner->{$this->created} = new CDbExpression('NOW()');
else
$this->Owner->{$this->modified} = new CDbExpression('NOW()');
return true;
}
}
В модели:
Код: Выделить всё
public function behaviors(){
return array(
'AutoTimestampBehavior' => array(
'class' => 'application.components.AutoTimestampBehavior',
//Тут можно переопределить названия полей, хранящих время создания и изменения модели.
)
);
}