我有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>
我实际上可以使用此表单创建用户,但现在我需要添加额外的信息。
我需要的是添加一个带有'City'列表的下拉列表(我将通过Ajax从DB中检索)并将相应的city_id
发送到UserController
以执行一些操作并添加额外的内容在保存之前,基于User
的{{1}}字段。所以这个city_id
不属于模型,我只需要在控制器中进行一些计算。
看起来像一个简单的问题,但现在我不知道怎么解决它。提前谢谢。
答案 0 :(得分:2)
您有两种选择:
在模型中添加一个类变量。
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 :(得分:1)
选项1:正如@kumar_v所说 选项2:将city_id作为属性添加到用户模型
class User extends CActiveRecord{
public $city_id ;
...
}