ユーザーが自分の情報を編集できるページがあります。このページには、生年月日 (日付、月、年) の 3 つのドロップダウン リストもあります。しかし、「ddmmyyyy」形式の値を受け入れるテーブルには生年月日用の列が 1 つしかありません。CActiveForm でこれら 3 つのフィールドをレンダリングして、「ddmmyyyy」のような 1 つの完全な値を一緒に入力するにはどうすればよいですか? ありがとうございました。
更新:
モデル コード:
public $day;
public $month;
public $year;
public function getDates()
{
return array(
20=>20,
21=>21,
);
}
public function getMonth()
{
return array(
01=>01,
02=>02,
);
}
public function getYears()
{
return array(
1990=>1990,
1991=>1991,
);
}
コントローラーコード:
if(isset($_POST['User']))
{
$user->attributes=$_POST['User'];
$user->day = $_POST['User']['day'];
$user->month = $_POST['User']['month'];
$user->year = $_POST['User']['year'];
$date = $user->day . $user->month . $user->year;
$user->birthday = $date;
if($user->save())
$this->redirect('/user/index');
}
コードを表示:
<div class="day">
<?php echo $form->dropDownList($user,'day', $user->getDates()); ?>
</div>
<div class="month">
<?php echo $form->dropDownList($user,'month', $user->getMonth()); ?>
</div>
<div class="year">
<?php echo $form->dropDownList($user,'year', $user->getYears()); ?>
</div>