我在mysql中创建了datetime字段。当我使用datepicker选择日期时,我想将它存储在数据库中。
这是我在控制器中的代码部分
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,
));
}
我的form.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”未定义。
请澄清我的疑虑并解释我如何克服这个问题?
答案 0 :(得分:0)
替换
$model->created=new CDbExpression('NOW()');
在
$model->created=date("Y-m-d H:i:s");
因为CJuiDatePicker需要输入字符串。
答案 1 :(得分:0)
在您的控制器中添加行
$model->created = date("Y-m-d H:i");
在_form.php中添加dateof_leave
的输入表单。因此,在发布表单时,$model->created
是EMPTY。如果我理解正确在控制器中你必须添加
$var= $_POST['EmpDetails']['dateof_leave'];
$model->created = date("Y-m-d H:i", $var);