这是我在模型规则中的代码...... .................................................. .................................................. .........................
array('dataMedicao', 'type', 'type' => 'date', 'message' => '{attribute}: is not a date!', 'dateFormat' => 'yyyy-MM-dd'),
array('dataMedicao', 'default',
'value' => new CDbExpression('NOW()'), //automatically add the current date in mysql feild
'setOnEmpty' => true, 'on' => 'update'),
array('date_created,date_modified', 'default',
'value' => new CDbExpression('NOW()'),
'setOnEmpty' => false, 'on' => 'insert'),
............................................... .................................................. ............................
protected function beforeSave() {
$this->dataMedicao = new CDbExpression('NOW()');
return parent::beforeSave();
}
protected function afterFind() {
$this->dataMedicao = date('Y-m-d', strtotime($this->dataMedicao));
return TRUE;
}
............................................... .................................................. ..........................
这是我在Form中的代码......
<?php echo $form->labelEx($model, 'dataMedicao'); ?>
<?php
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'name' => 'dataMedicao',
'attribute' => 'dataMedicao',
'value' => $model->dataMedicao,
// additional javascript options for the date picker plugin
'options' => array(
'showAnim' => 'fold',
'dateFormat' => 'yy-mm-dd',
),
'htmlOptions' => array(
'style' => 'height:20px;'
),
));
?>
<?php echo $form->error($model, 'dataMedicao'); ?>
............................................... .................................................. ..........................
在我的数据库日期设置为0000-00-00,当我列出它们时,它们设置为1970-01-01 ...然后在更新时我使用DatePicker设置更新字段的日期,但它总是得到我们当前日期的更新...如何获得我在DatePicker中设置的日期以及如何将其保存在我的数据库中? 感谢所有帮助
答案 0 :(得分:0)
您的beforeSave
确保每当记录更新时$this->dataMedicao
始终设置为NOW()
。删除此行或将其包装在条件中,使其仅在插入时发生。
protected function beforeSave() {
if ($this->isNewRecord)
$this->dataMedicao = new CDbExpression('NOW()');
return parent::beforeSave();
}
也可以通过修改rules
。
此外,您的日期选择代码应引用$model
,如下所示:
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model' => $model,
'attribute' => 'dataMedicao',
...
如果没有这个,则在大量分配期间无法设置dataMedicao
,因为发布变量的name
为dataMedicao
而不是<Model>[dataMedicao]
。