Php 在Yii中提交表单时,自定义字段为空

Php 在Yii中提交表单时,自定义字段为空,php,forms,model,yii,cactiverecord,Php,Forms,Model,Yii,Cactiverecord,我在模型中添加了三个新字段(年、月、日期)。当我提交表单时,不会填充表单数据。所有这三个自定义属性在提交时都为空 关于为单个属性实现多个字段,我按照答案的建议做了。我该怎么办。这是我的密码 用户型号: class User extends CActiveRecord { public $month; public $year; public $day; ... <?php echo $form->labelEx($model, "dob"); ?&g

我在模型中添加了三个新字段(年、月、日期)。当我提交表单时,不会填充表单数据。所有这三个自定义属性在提交时都为空

关于为单个属性实现多个字段,我按照答案的建议做了。我该怎么办。这是我的密码

用户型号:

class User extends CActiveRecord
{
    public $month;
    public $year;
    public $day;
    ...
<?php echo $form->labelEx($model, "dob"); ?>
<?php echo $form->dropDownList($model, 'year', $model->getDobOptions('year')); ?>
<?php echo $form->dropDownList($model, 'month', $model->getDobOptions('month')); ?>
<?php echo $form->dropDownList($model, 'day', $model->getDobOptions('day')); ?>
查看文件:

class User extends CActiveRecord
{
    public $month;
    public $year;
    public $day;
    ...
<?php echo $form->labelEx($model, "dob"); ?>
<?php echo $form->dropDownList($model, 'year', $model->getDobOptions('year')); ?>
<?php echo $form->dropDownList($model, 'month', $model->getDobOptions('month')); ?>
<?php echo $form->dropDownList($model, 'day', $model->getDobOptions('day')); ?>

您是否记得将这些字段也设置为安全字段

public function rules() {
    return array(
        array('month, year, day', 'safe'),
    ...
如果没有,则不会将值从窗体“复制”到控制器中的模型:

$model->attributes = $_GET['User'];