2011-02-11 71 views
1

我想从一个简单的mySql表tbl_u_type检索数据,它只有两列'tid'和'type'。yii中的CDbcommand方法queryAll()只返回索引条目吗?

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

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

但在下拉列表中会自动显示与所要求的本地沿着索引号。有什么办法可以避免索引号码?

回答

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')); 

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

+0

嘿thx男人,它工作似乎奶油吐司......;) – 2011-02-13 08:41:05