如何将输入传递给不属于模型的YII中的控制器

  • 本文关键字:模型 不属于 YII 控制器 php yii
  • 更新时间 :
  • 英文 :


我有一个用于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不属于模型,我只需要在控制器中进行一些计算。

看起来像一个简单的问题,但是现在我不知道要解决它。预先感谢。

您有两个选项:

  1. 在模型中添加类变量。

    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 ;
...
}

最新更新