使用yii框架在mysql中存储日期时间



我在mysql中创建了日期时间字段。我想在使用日期选择器选择日期时将其存储在数据库中。

这是我在控制器中的代码部分

    public function actionCreate()
    {
    $model=new EmpDetails;
    $model->created = date("Y-m-d H:i");
    // Uncomment the following line if AJAX validation is needed
    $this->performAjaxValidation($model);
    if(isset($_POST['EmpDetails']))
    {
        $model->attributes=$_POST['EmpDetails'];
        if($model->save())
            $this->redirect(array('view ','id'=>$model->emp_id));
    }
    $this->render('create',array(
        'model'=>$model,
    ));
}

我的表单.php的部分是:

  <div class="row">
    <?php echo $form->labelEx($model,'dateof_leave'); ?>
        <?php $model->created=new CDbExpression('NOW()');
        $sqldate = date('Y-m-d H:i:s',strtotime($textFieldValue));?>
           <?php
            $this->widget('zii.widgets.jui.CJuiDatePicker', array(
            'model' => $model,
            'attribute' => 'dateof_leave',
            'htmlOptions' => array(
            'size' => '10',         // textField size
            'maxlength' => '10',    // textField maxlength
            ),
            ));
            ?>
    <?php // echo $form->textField($model,'dateof_leave'); ?>
    <?php echo $form->error($model,'dateof_leave'); ?>
</div>

我面临错误属性"EmpLeave.created"未定义。

请澄清我的疑虑,并向我解释如何克服这个问题?

更换

$model->created=new CDbExpression('NOW()');

关于

$model->created=date("Y-m-d H:i:s");

因为CJuiDatePicker在输入时需要字符串。

在yout控制器中添加行

 $model->created = date("Y-m-d H:i");

在_form.php中添加dateof_leave的输入表单。因此,在过帐表单时,$model->created为空。如果我理解正确,在控制器中,你必须添加

 $var= $_POST['EmpDetails']['dateof_leave'];
 $model->created = date("Y-m-d H:i", $var);

相关内容

  • 没有找到相关文章