Php yii:小部件中的日期格式已更改,但仍存储为000-00-00
我将以下Php yii:小部件中的日期格式已更改,但仍存储为000-00-00,php,yii,Php,Yii,我将以下yy-mm-dd更改为dd-mm-yy,数据库显示日期字段设置为0000-00-00 _form.php $form->widget('zii.widgets.jui.CJuiDatePicker', array( 'model' => $model, 'attribute' => 'datestart', 'value' => $model->datestart,
yy-mm-dd
更改为dd-mm-yy
,数据库显示日期字段设置为0000-00-00
_form.php
$form->widget('zii.widgets.jui.CJuiDatePicker', array(
'model' => $model,
'attribute' => 'datestart',
'value' => $model->datestart,
'options' => array(
'showButtonPanel' => true,
'changeYear' => true,
'dateFormat' => 'dd-mm-yy',
),
));
当我捕捉到发送到控制器save()
操作的$\u参数
时,它显示日期被发送为01-01-2014
但是它被存储为
0000-00-00
。我应该去哪里?它似乎被设置为某个地方的yyyy-mm-dd
格式。顺便说一句,我是通过giix生成模型的。如果您使用的是DATE
mysql字段类型,您需要确保dateFormat
为日期
字段返回正确的格式。在这种情况下,altFormat
是显示给用户的格式。另外,添加name
属性,如下所示:
<?php
$form->widget('zii.widgets.jui.CJuiDatePicker', array(
'model'=>$model,
'attribute'=>'datestart',
'value'=>$model->datestart,
'name'=>$model->datestart,
'options'=>array(
...
'dateFormat'=>'yy-mm-dd', // save format
'altFormat'=>'dd-mm-yy', // show format
...
),
));
?>
我认为您正在使用mysql作为数据库,mysql日期字段只接受日期值YYYY-mm-dd格式。它将不接受其他格式。因此,如果您以YYYY-mm-dd格式传递日期,则它将正确存储,否则它将0000-00-00存储为日期。为什么不查看数据库表中列的格式。这会导致错误属性“CJuiDatePicker.mode”未定义。
Ah我的答案基于cguidatetimepicker
而不是cguidatepicker
-我已更新了我的答案