Php 更新时的Yii-DOB格式
想知道是否有人能帮忙 我的表格正在填充数据库中的DOB字段。我们已经做了一些工作,使其更加用户体验友好,并确保以正确的格式获得出生日期,然而,当我随后去更新表单时,它并没有重新解释DOB字段 这是我的密码 模型 模型->规则() 模型->添加到beforesave()中 在视图中Php 更新时的Yii-DOB格式,php,yii,date-format,date-formatting,dob,Php,Yii,Date Format,Date Formatting,Dob,想知道是否有人能帮忙 我的表格正在填充数据库中的DOB字段。我们已经做了一些工作,使其更加用户体验友好,并确保以正确的格式获得出生日期,然而,当我随后去更新表单时,它并没有重新解释DOB字段 这是我的密码 模型 模型->规则() 模型->添加到beforesave()中 在视图中 echo $form->textFieldGroup( $user, 'day', array( 'widgetOptions' => array( 'htmlOptio
echo $form->textFieldGroup(
$user,
'day',
array(
'widgetOptions' => array(
'htmlOptions' => array(
'placeholder' => 'DD')
)
)) ;
echo $form->dropDownListGroup(
$user,
'month',
array(
'widgetOptions' => array(
'data' => array('01' => 'January' , '02' => 'February' , '03' => 'March' , '04' => 'April' , '05' => 'May' , '06' => 'June' , '07' =>'July' , '08' =>'August' , '09' =>'September' , '10' =>'October' , '11' =>'November' , '12' =>'December'),
// 'data' => 'Jan','Feb';
'htmlOptions' => array(
'class' => 'col-md-3 ',
'prompt' => 'Choose month',
),
)
)
);
echo $form->textFieldGroup(
$user,
'year',
array(
'widgetOptions' => array(
'htmlOptions' => array(
'placeholder' => 'YYYY',
'class' => 'col-md-3',
)
)
));
显然更新的视图是相同的,但我需要actionUpdate的一些东西来分解数据并将其放回下拉列表中
有人对最简单的方法有什么想法吗?看看我看不出有什么不同。我觉得afterFind()是将dob字段分解回其原始值的工具,但它没有做任何事情。您是否已将beforevalidate函数添加到
y-m-d
格式的framedob
变量中?这不仅仅是为了将文件正确存储在数据库中?我已经通过beforeSave()完成了这项操作?只是确认一下,我已经拥有的功能已经存在,并且在创建时可以正常工作,以正确的格式存储数据,只是更新没有分解数据确定现在得到了,如果发生验证错误,您想在验证后分解它吗?是吗?看看我看不出我做了什么不同。我觉得afterFind()是将dob字段分解回其原始值的工具,但它没有做任何事情。您是否已将beforevalidate函数添加到y-m-d
格式的framedob
变量中?这不仅仅是为了将文件正确存储在数据库中?我已经通过beforeSave()完成了这项操作?只是确认一下,我已经拥有的功能已经存在,并且在创建时可以正常工作,以正确的格式存储数据,只是更新没有分解数据确定现在得到了,如果发生验证错误,您想在验证后分解它吗?它是?
array('day','length', 'max'=>2),
array('day','length', 'min'=>2),
array('day', 'numerical','integerOnly' => true, 'min' => 1 ),
array('year','length', 'max'=>4),
array('year','numerical','integerOnly' => true, 'min' => 4),
protected function afterFind() {
$dob = explode('/', $this->dob);
$this->year = $dob[0];
$this->month = $dob[1];
$this->day = $dob[2];
parent::afterFind();
}
$this->dob = $this->year .'/'. $this->month .'/'. $this->day;
echo $form->textFieldGroup(
$user,
'day',
array(
'widgetOptions' => array(
'htmlOptions' => array(
'placeholder' => 'DD')
)
)) ;
echo $form->dropDownListGroup(
$user,
'month',
array(
'widgetOptions' => array(
'data' => array('01' => 'January' , '02' => 'February' , '03' => 'March' , '04' => 'April' , '05' => 'May' , '06' => 'June' , '07' =>'July' , '08' =>'August' , '09' =>'September' , '10' =>'October' , '11' =>'November' , '12' =>'December'),
// 'data' => 'Jan','Feb';
'htmlOptions' => array(
'class' => 'col-md-3 ',
'prompt' => 'Choose month',
),
)
)
);
echo $form->textFieldGroup(
$user,
'year',
array(
'widgetOptions' => array(
'htmlOptions' => array(
'placeholder' => 'YYYY',
'class' => 'col-md-3',
)
)
));