如何在Yii中创建dropDownList?

时间:2014-06-24 09:46:24

标签: php yii yii-chtml

我在模型jobs中有2个属性,它们是tagcategory,我想创建一个dropDownList,显示tag category的值$s= CHtml::listData($model2, 'salary', 'tag'); echo CHtml::dropDownList('salary', 'salary', $s); 等于'薪水',这是我的代码:

{{1}}

我的数据库:

标签/类别

1 / val1

2 / val1

a / val2

1000 /工资

2000 / salary

但我得到了一个dropDownList,它只包含具有这些条件的最后一个值。我的代码有什么问题?

1 个答案:

答案 0 :(得分:1)

有两个原因导致您只能获得一个结果,首先您在$model2中获得的结果数会影响结果,请检查您是否使用findAll返回与a匹配的所有行条件而非findfindByPk,因为它们只返回一个值,

其次,listData的第二个属性应该是你的值字段'salary'不是模型的属性,这必须是valueField(see this)。

如果它被指定为salary,它将保持不变 - 所有选项元素的常量值,这意味着您的数组将被覆盖每个到达,留下包含最后一个值的一个元素的数组。

你应该'tag_id'/'id'或你的模型或标签值中的某种主键(假设它是唯一的)来识别标签

$model2 = MyModel::model()->findAll("category = salary");
$s= CHtml::listData($model2, 'tag', 'tag');                         
echo CHtml::dropDownList('salary', 'salary', $s,array('empty'=>'--Select--'));