Я хочу взять день рождения пользователя в мою базу данных, и в таблице называется dob . Когда я создал модель и CRUD, она генерировала текстовое поле для dob, как всегда. Но я хочу создать три входа.
Поэтому мой вопрос заключается в том, как добавить дополнительные входы в форму модели. Я думал о добавлении новых атрибутов в класс модели, но в таблице нет таких атрибутов.
Добавьте поля в свою модель:
public $year; public $month; public $date;
Добавьте эти методы в свою модель:
protected function afterFind() { parent::afterFind(); $dob = explode('/', $this->dob); $this->year = $dob[0]; $this->month = $dob[1]; $this->date = $dob[2]; return $this; } protected function beforeSave() { parent::beforeSave(); $this->dob = $this->year .'/'. $this->month .'/'. $this->date; return $this; }
Теперь вы можете использовать их в своей форме CActiveForm:
<?php echo $form->textField($model, 'year'); ?> <?php echo $form->textField($model, 'month'); ?> <?php echo $form->textField($model, 'date'); ?>