Доктрина - извлечение столбца из таблицы - PullRequest
0 голосов
/ 02 декабря 2011

Когда я делаю что-то вроде этого:

$boards = Doctrine_Query::create()
                        ->select('bds.id')
                        ->from('board bds')
                        ->whereIn('bds.type', $boardtype)
                        ->orderBy('bds.id')
                        ->execute();

В результате $boards имеет больше полей (столбцов), чем я хотел. Все, что я хотел, - это просто один массив идентификатора столбца таблицы Board. Есть ли способ сделать это?

Я хотел использовать массив как-то так:

$buildings = Doctrine_Core::getTable('building')->createQuery('a')
                                                ->WhereIn('a.board_id', $boards)
                                                ->orderBy('a.id')
                                                ->execute();

Однако WhereIn принимает только массив, но не запрос, поэтому теперь мне нужно пройтись по $boards и сгенерировать массив ID для WhereIn.

Поэтому мне было интересно, могу ли я получить столбец как массив? или если есть альтернатива для того, что я делаю. Спасибо за любую помощь.

Справочная информация:
Правление имеет много-к-одному отношения со зданием. Столбец Id (ключ) Board связан со столбцом board_id в здании.
Чего я хочу добиться, так это генерировать запрос зданий, связанных с досками заданных типов досок.

1 Ответ

1 голос
/ 02 декабря 2011

Вы должны прочитать: http://www.doctrine -project.org / Documentation / manual / 1_2 / ru / data-hydrators

$boards = Doctrine_Query::create()
                    ->select('bds.id')
                    ->from('board bds')
                    ->whereIn('bds.type', $boardtype)
                    ->orderBy('bds.id')
                    ->execute(array(), Doctrine_Core::HYDRATE_SINGLE_SCALAR);
...