如何将日期时间格式的当前时间添加到yii中的文本字段?

时间:2014-12-10 02:58:02

标签: php yii

这是我想要使用的代码

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

我想自动将当前时间添加到我的数据库

3 个答案:

答案 0 :(得分: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()添加它。

答案 1 :(得分:0)

您也可以在控制器中设置值。

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

答案 2 :(得分:0)

最简单的方法是将CTimestampBehavior添加到您的模型中:

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

请参阅API