Php Yii中的下拉列表?

Php Yii中的下拉列表?,php,yii,Php,Yii,在我的查看页面中 $cpfTabledropdown = ManageConfiguration::getModulesetting(); echo $form->dropdownList($useraccount, 'skill_type', $cpfTabledropdown, array('class' => 'form-control', 'prompt' => 'Select SKill Type', 'disabled' => $useracc

在我的查看页面中

    $cpfTabledropdown = ManageConfiguration::getModulesetting();
    echo $form->dropdownList($useraccount, 'skill_type', $cpfTabledropdown, array('class' => 'form-control', 'prompt' => 'Select SKill Type', 'disabled' => $useraccount->id_type == 3 ? false : true));
在我的模型编码中:

public static function getModulesetting() {
    $models = HrmoduleSettings::model()->findAll('type="6"');
    return CHtml::listData($models, 'id', 'name');
 }
现在我想用名称concat返回listdata,使用列subcat返回一些静态数据,如何在yii中用返回名称值concat静态数据,如下面的PHP编码

我想用YII显示Dropdownlist数据,如下面的PHP编码。它的PHP编码工作正常,但我不知道如何用YII编写。是否可以用YII编写下面的PHP编码

<select name ="UserAccount[skill_type]">
  <?php
    foreach ($cpfTabledropdown as $models) {
     if ($models->subcat_type == 1) 
         {
       $cate = "Skilled";
         } 
       else {
         $cate = "Unskilled";
         }
        ?>
        <option value ="<?php echo $models->id; ?>"><?php echo $cate . " " . $models->name; ?></option>
     <?php
       }
       ?>
      </select>

这样做:

public static function getModulesetting() {
   $models = HrmoduleSettings::model()->findAll('type="6"');
   return CHtml::listData($models, 'id', 
           function($models) {
             $cate = "What Ever"; // $cate content
             return $cate . ' ' . $models->name; 
   });
}
这样做:

public static function getModulesetting() {
   $models = HrmoduleSettings::model()->findAll('type="6"');
   return CHtml::listData($models, 'id', 
           function($models) {
             $cate = "What Ever"; // $cate content
             return $cate . ' ' . $models->name; 
   });
}

您可以在
HrmoduleSettings
类中创建一个getter,这样就可以避免在视图中添加与数据相关的代码

hr模块设置
类中添加以下方法:

public function getNameWithCategory()
{
    if ($this->subcat_type == 1)
        return "Skilled " . $this->name;
    else
        return "Unskilled " . $this->name;
}
现在,您必须对
CHtml::listData()
调用进行一些更改:

CHtml::listData($models, 'id', 'nameWithCategory');

就这样

您可以在
HrmoduleSettings
类中创建一个getter,这样就可以避免在视图中添加与数据相关的代码

hr模块设置
类中添加以下方法:

public function getNameWithCategory()
{
    if ($this->subcat_type == 1)
        return "Skilled " . $this->name;
    else
        return "Unskilled " . $this->name;
}
现在,您必须对
CHtml::listData()
调用进行一些更改:

CHtml::listData($models, 'id', 'nameWithCategory');

就这样

为什么不创建一个新版本的getModuleSetting函数来实现这一点?为什么不创建一个新版本的getModuleSetting函数来实现这一点?