我将以下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',
),
));
当我抓住$_PARAM
被发送到控制器save()
操作时,它会显示日期是01-01-2014
发送的。
然而,它会被存储为0000-00-00
。我应该在哪里看?似乎它设置为在某处预期yyyy-mm-dd
格式。我通过giix btw生成模型。
答案 0 :(得分:0)
如果您使用的是DATE
mysql字段类型,则需要确保dateFormat
返回DATE
字段的正确格式。在这种情况下,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
...
),
));
?>
答案 1 :(得分:0)
我认为你使用mysql作为数据库和mysql日期字段只接受 YYYY-mm-dd 格式的日期值。它不接受其他格式。因此,如果您以 YYYY-mm-dd 格式传递日期,那么它将正确存储,否则它会将0000-00-00存储为日期。