yii中的CDbcommand方法queryAll()仅返回索引条目吗?

时间:2011-02-11 11:06:02

标签: yii

我正在尝试从一个简单的mySql表tbl_u_type中检索数据,该表只有两列,'tid'和'type'。

我想使用直接SQL查询而不是模型逻辑。我用过:

$command = Yii::app()->db->createCommand();
$userArray = $command->select('type')->from('tbl_u_type')->queryAll();
return $userArray;

但是在下拉列表中,它会自动显示索引号以及所需的条目。有什么方法可以避免索引号吗?

1 个答案:

答案 0 :(得分:4)

要在下拉列表中创建可用数据数组,请使用CHtml::listData()方法。如果我理解正确的问题,这应该让你去。像这样:

$command = Yii::app()->db->createCommand();
$userArray = $command->select('tid, type')->from('tbl_u_type')->queryAll();
echo CHtml::dropdownlist('my_dropdown','',CHtml::listData($userArray,'tid','type'));

如果您为tbl_u_type表设置了一个模型,也可以使用模型执行此操作:

$users = UType::model()->findall();
echo CHtml::dropdownlist('my_dropdown','',CHtml::listData($users ,'tid','type'));

我希望能让你走上正轨。我没像往常一样在这里测试我的代码,所以要小心。 ;)祝你好运!