интересно, может ли кто-нибудь помочь.
В моей базе данных есть поле DOB, которое заполняет моя форма. Мы проделали небольшую работу, чтобы сделать ее немного более удобной для UX и убедиться, что мы получаем дату рождения в правильном формате, однако, когда я затем иду, чтобы обновить форму, она не переосмысливает поле DOB.
Вот мой код;
модель
public $year;
public $month;
public $day;
Модель -> правила ()
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();
}
Модель -> добавлено в beforesave ()
$this->dob = $this->year .'/'. $this->month .'/'. $this->day;
И в представлении _Form
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, чтобы взорвать данные и вернуть их обратно в выпадающие списки.
У кого-нибудь есть идеи о том, как сделать это проще всего?
Задача ещё не решена.
Других решений пока нет …