Получить данные из базы в другом виде

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
cpentyc
Сообщения: 52
Зарегистрирован: 2011.11.29, 18:03
Откуда: Казахстан
Контактная информация:

Получить данные из базы в другом виде

Сообщение cpentyc »

Я использую запрос
$pages = Yii::app()->db->createCommand()
->select('id, title')
->from('tbl_page')
->where('statys=:statys', array(':statys'=>Page::STATUS_PUBLISHED))
->queryAll();
И получаю в результате Array ( [0] => Array ( [id] => 1 [title] => Страница ) [1] => Array ( [id] => 2 [title] => tre ) )
Можно ли получить сразу Array ( [1] => Страница [2] => tre )
http://cpentyc.ru/ <- наверняка ничего нет я ленивая задница. Лучше в скайп cpentyc. Знаю джумлу
Skiller
Сообщения: 627
Зарегистрирован: 2011.11.27, 00:21

Re: Получить данные из базы в другом виде

Сообщение Skiller »

queryRow(), читайте документацию внимательнее
cpentyc
Сообщения: 52
Зарегистрирован: 2011.11.29, 18:03
Откуда: Казахстан
Контактная информация:

Re: Получить данные из базы в другом виде

Сообщение cpentyc »

queryRow() возращает 1 строку а мне нужны все
http://cpentyc.ru/ <- наверняка ничего нет я ленивая задница. Лучше в скайп cpentyc. Знаю джумлу
Аватара пользователя
mihnayan
Сообщения: 43
Зарегистрирован: 2012.03.15, 22:51
Контактная информация:

Re: Получить данные из базы в другом виде

Сообщение mihnayan »

Не понятные желания. queryRow() возвращает столбец. То есть если в селекте укажешь ...->select('title')..., то queryRow() вернет то, что ты просишь:
cpentyc писал(а):Я использую запрос
Можно ли получить сразу Array ( [1] => Страница [2] => tre )
Любая техническая система должна быть идиотоустойчивой (с) один из университетских преподов
esche
Сообщения: 1054
Зарегистрирован: 2010.11.24, 03:39

Re: Получить данные из базы в другом виде

Сообщение esche »

queryRow() (как минимум, судя по названию) не столбец возвращает.
Чтобы получить массив 'id'=>title следует указать первой колонкой title (возвращаемое значение), и задать параметр index
Примерно так:

Код: Выделить всё

$result = Yii::app()->db->createCommand('select title,id from {{page}}')
                        ->queryColumn(array('index'=>'id));
(последнюю строчку можно перенести в исходный запрос вместо queryAll и не забыть про title на первое место)
...
Skiller
Сообщения: 627
Зарегистрирован: 2011.11.27, 00:21

Re: Получить данные из базы в другом виде

Сообщение Skiller »

esche
не понял зачем ты передаешь параметры? там же байндить ничего?
http://www.yiiframework.com/doc/api/1.1 ... umn-detail
esche
Сообщения: 1054
Зарегистрирован: 2010.11.24, 03:39

Re: Получить данные из базы в другом виде

Сообщение esche »

Skiller писал(а):esche
не понял зачем ты передаешь параметры? там же байндить ничего?
http://www.yiiframework.com/doc/api/1.1 ... umn-detail
А хз.. работает оно - вот и передаю ) Даже расписал, что и зачем передаю.. Или непонятно расписал?
...
Аватара пользователя
mihnayan
Сообщения: 43
Зарегистрирован: 2012.03.15, 22:51
Контактная информация:

Re: Получить данные из базы в другом виде

Сообщение mihnayan »

esche писал(а):queryRow() (как минимум, судя по названию) не столбец возвращает.
Согласен, допустил техническую ошибку. Извиняюсь! Постараюсь больше так не делать! :oops:
Любая техническая система должна быть идиотоустойчивой (с) один из университетских преподов
Skiller
Сообщения: 627
Зарегистрирован: 2011.11.27, 00:21

Re: Получить данные из базы в другом виде

Сообщение Skiller »

esche писал(а):
Skiller писал(а):esche
не понял зачем ты передаешь параметры? там же байндить ничего?
http://www.yiiframework.com/doc/api/1.1 ... umn-detail
А хз.. работает оно - вот и передаю ) Даже расписал, что и зачем передаю.. Или непонятно расписал?
нет, я не понял смысла твоей конструкции, в метод queryColumn() передаются параметры которые будут байндится через PDO, насколько я вижу там никаких плейсхолдеров index нет, тогда в чем соль?
esche
Сообщения: 1054
Зарегистрирован: 2010.11.24, 03:39

Re: Получить данные из базы в другом виде

Сообщение esche »

См. самый первый пост в теме.. Чтобы ключом (index) массива стало поле с названием `id`
...
Ответить