在我的视图页面中,
$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');
}
现在我希望在name concat中返回listdata使用column subcat的一些静态数据,如何在yii中返回该返回名称值中的静态数据,如下面的PHP编码,
我想在YII中显示类似于PHP编码的下拉列表数据.It Php编码其工作正常,但我不知道如何在YII中编写。可以在YII中编写以下PHP编码吗? / p>
<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>
答案 0 :(得分:0)
使用这种方式:
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;
});
}
答案 1 :(得分:0)
您可以在HrmoduleSettings
课程中创建一个getter,这样就可以避免在视图中添加与数据相关的代码。
在HrmoduleSettings
课程中添加以下方法:
public function getNameWithCategory()
{
if ($this->subcat_type == 1)
return "Skilled " . $this->name;
else
return "Unskilled " . $this->name;
}
现在您必须对CHtml::listData()
电话进行一些更改:
CHtml::listData($models, 'id', 'nameWithCategory');
就是这样!