Метод CDbcomm queryAll () в yii возвращает только проиндексированные записи? - PullRequest
1 голос
/ 11 февраля 2011

Я пытаюсь получить данные из простой таблицы mySql tbl_u_type, в которой всего два столбца: 'tid' и 'type'.

Я хочу использовать прямой SQL-запрос вместо логики модели. Я использовал:

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

Но в выпадающем списке он автоматически показывает номер индекса вместе с необходимой записью. Можно ли как-нибудь избежать номера индекса?

1 Ответ

4 голосов
/ 11 февраля 2011

Чтобы сделать массив данных пригодным для использования в раскрывающемся списке, используйте метод 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'));

Я надеюсь, что вы попадете на правильный путь. Я не тестировал свой код здесь, как обычно, так что следите за этим. ;) Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...