php - 使用 Yii 自动存储日期时间

标签 php datetime yii

我开始使用 Yii 学习 php,我有一个很大的问题,也许你可以帮助我。

我正在使用表单来创建用户。我想将我在表单中引入的用户数据存储到数据库(MySQL)中,但我还必须将日期和时间存储在数据库的日期时间字段中。我看到了一些像 CJUIDATEPICKER 这样的扩展来选择日期,但我不知道有任何扩展来选择日期时间。我认为更好的方法是在创建新用户时自动存储日期时间。现在我在表单中有一个文本框,我必须在其中引入格式为 yyyy-mmmm-dddd hh:mm:ss 的日期时间,但我认为它没有用。

拜托,有人可以帮助我并向我解释当我在数据库中创建寄存器时如何存储日期时间吗?

非常感谢。

编辑:

现在我使用“$model->reg_date=new CDbExpression('NOW()');”在 actionCreate() Controller 中,它运行良好,但我认为最好在您编写任何内容之前在用户创建表单的字段中显示此日期时间,并在您单击提交时存储表单的所有字段。我尝试这样做,但正如您想象的那样,该字段仅显示“NOW()”

这是我在 _form.php 中的表单代码的一部分:

<div class="row">
<?php $model->reg_date=new CDbExpression('NOW()');?>
<?php echo $form->labelEx($model,'reg_date'); ?>
<?php echo $form->textField($model,'reg_date'); ?>
<?php echo $form->error($model,'reg_date'); ?>
</div>

有人可以帮助我吗?

再次感谢!

最佳答案

如果您选择在创建新用户时自动存储日期时间,我会使用 CDbExpression :

$model->created = new CDbExpression('NOW()'); // "YYYY-MM-DD HH:MM:SS"

和 UNIX_TIMESTAMP(NOW()) 用于 unix 时间戳。值得一提的是,这些函数是特定于 MySQL 的。

我还想指出 CJuiDatePicker是一个与 Yii 捆绑在一起的小部件。抱歉挑剔。


使用 php 的日期函数而不是 MySQL 的 NOW() 更新了答案:

// UserController.php
public function actionCreate()
{
    $model=new User;
    $model->created = date("Y-m-d H:i");  // Added this.
    if(isset($_POST['User']))
    {
        $model->attributes=$_POST['User'];
        if($model->save())
        {
            $this->redirect(array('view','id'=>$model->id));
        }
    }
    $this->render('create',array(
        'model'=>$model,
    ));
}

// _form.php  inside your Active Form
echo $form->labelEx($model,'created');   // Display it anyway you'd like. A label perhaps?
echo $form->hiddenField($model, 'created'); // Send back value to the controller on submit

应该是吧!

如果您使用 Bootstrap ,还有一些值得一提的事情。不要在表单中首先放置隐藏字段,因为 Bootstrap first-child css-selectors 会弄乱上边距。

关于php - 使用 Yii 自动存储日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18434575/

相关文章:

php - 如何从 MySQL 数据库中回显换行符?

php - 将 PHP Mysql 日期格式输出为 ISO 8601,仅带 "T"符号

ruby-on-rails - 如何在 Rails、表单构建器和错误消息中本地化日期格式?

php - CActiveForm beforeValidate 不适用于 afterValidate

php - Yii ajaxSubmitButton() 与字段验证

php - 无需隐藏所有形式的输入即可防止 CSRF

PHP - 计算 ul 内的 li 元素

php - 如何在 Laravel 5.2 MongoDB 中的 Sub Json 文档中存储 Carbon DateTime ISO 对象

python - 如何在 Pandas 中打印 CSV 中的某些行

php - 如何在yii中包含egmap的扩展文件