我有一个用于User
模型(User extends CActiveRecord
)的用户创建表格,其中一些常规字段(例如用户名,密码或电子邮件)。
在视图中创建表单的字段,例如:
<div class="row">
<?php echo $form->labelEx($model,'email'); ?>
<?php echo $form->textField($model,'email',array('size'=>60,'maxlength'=>128)); ?>
<?php echo $form->error($model,'email'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'superuser'); ?>
<?php echo $form->dropDownList($model, 'superuser', User::itemAlias('AdminStatus')); ?>
<?php echo $form->error($model,'superuser'); ?>
</div>
我实际上可以使用此表格创建用户,但是现在我需要添加额外的信息。
我需要的是添加"城市"列表的下拉列表(我将通过AJAX从DB中检索),然后将相应的city_id
发送到UserController
,以执行一些操作,并基于User
向CC_5添加一个额外的字段,在保存之前。因此,此city_id
不属于模型,我只需要在控制器中进行一些计算。
看起来像一个简单的问题,但是现在我不知道要解决它。预先感谢。
您有两个选项:
-
在模型中添加类变量。
public $city_id;
然后,您可以在下面的视图中调用
<div class="row">
<?php echo $form->labelEx($model,'city_id'); ?>
<?php echo $form->dropDownList($model, 'city_id', $urcity_arr; ?>
<?php echo $form->error($model,'city_id'); ?>
</div>
2.您可以使用chtml
但是您可以在控制器中以$_POST["city_id"];
<?php echo CHtml::dropdownlist('city_id', 'selected value',$urcity_arr); ?>
选项1:@kumar_v说选项2:将city_id添加为用户模型
的属性class User extends CActiveRecord{
public $city_id ;
...
}