Как добавить текущее время в формате datetime в текстовое поле в yii?

0

Здесь код, с которым я хочу работать

<?php echo $form->textField($model,'email_time_created',array('readonly'=>true)); ?>

я хочу автоматически добавить текущее время в мою базу данных

Теги:
yii

3 ответа

0

Самый простой способ - добавить CTimestampBehavior к вашей модели:

public function behaviors(){
    return array(
        'CTimestampBehavior' => array(
            'class' => 'zii.behaviors.CTimestampBehavior',
            'createAttribute' => 'create_time_attribute',
            'updateAttribute' => 'update_time_attribute',
        )
    );
}

См. API.

0

также вы можете установить значение в контроллере.

$model->email_time_created= now('Y-m-d H:i:s');
0

Я рекомендую добавить его в базу данных, если вы используете 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() в виде формы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню