我正在尝试从我的数据库创建动态下拉列表。我注意到当我使用Yii查询时,不以array(1=>1, 2=>2...)
格式CHtml::dropDownList()
返回一个我需要 public function cDropdown()
{
$sql = "SELECT DISTINCT `code`, `name`
FROM `AB`
GROUP BY `code`
ORDER BY `name` ASC";
$query = Yii::app()->db->createCommand($sql)->queryAll();
$arr = array();
foreach($query AS $name=>$value)
$arr[$value['code']] = $value['name'];
return $arr;
}
所以我添加了一个for循环来做到这一点。这是正确的还是遵循框架标准?还是我错过了什么?对不起yii新手
在我的模特中
{{1}}
答案 0 :(得分:0)
您可以使用以下方式以非常简单的方式执行此操作:$form->dropDownList($model, 'attribute', CHtml::listData(ModelName::model()->findAll(), 'id', 'name'));
id
和name
应替换为下拉列表中您需要的字段。 id将是值,将显示名称。
您也可以更改findAll()
并使用您想要的其他方法。
好?祝你好运