Здесь код, с которым я хочу работать
<?php echo $form->textField($model,'email_time_created',array('readonly'=>true)); ?>
я хочу автоматически добавить текущее время в мою базу данных
Самый простой способ - добавить CTimestampBehavior
к вашей модели:
public function behaviors(){
return array(
'CTimestampBehavior' => array(
'class' => 'zii.behaviors.CTimestampBehavior',
'createAttribute' => 'create_time_attribute',
'updateAttribute' => 'update_time_attribute',
)
);
}
См. API.
также вы можете установить значение в контроллере.
$model->email_time_created= now('Y-m-d H:i:s');
Я рекомендую добавить его в базу данных, если вы используете MySQL, вы можете создать триггер перед сохранением и сделать что-то вроде этого:
SET NEW.email_time_created=NOW()
Если нет, вы можете сделать это на уровне Yii/PHP, добавив в класс модели следующую функцию:
public function beforeSave(){
$this->email_time_created = CDbExpression('NOW()'); //Only in MYSQL
return parent::beforeSave();
}
Перед сохранением модели он установит столбец в текущее значение. Обратите внимание, что он не будет показан в форме, но вы можете добавить его JS или используя php date() в виде формы.