Zend_Db_Select — получить все выбранные таблицы и столбцы

Мы используем Zend Framework в нашей компании, и поэтому мы используем Zend_Db_Select.

Теперь мы строим с ним запрос, который затем (предварительная выборка) передается функции.
Запрос строится следующим образом:

$select = $this->_selectAll()
->setIntegrityCheck(false)
->joinLeft('shop', $conShop, $colShop)
->joinLeft('ptool', $conPtool, $colPtool)
->where('ptool.product_id > 0')
->where('ptool.product_is_from_shop = 0')
;

Где $ conShop и $ colShop что-то вроде:

$colShop = array('shop_id','shop_channel');
$conShop = "shop.shop_id = ptool.shop_id";

В новом методе я хочу получить все объединенные таблицы и их столбцы, которые будут выбраны. Таким образом, $ select передается методу, и теперь я хотел бы получить что-то вроде этого:

Array
(
['shop'] => Array
(
[0] => 'shop_id',
[1] => 'shop_channel',
...

),
['ptool'] => Array
(
[0] => 'shop_id',
[1] => 'ptool_id',
...

),
...
)

Было бы хорошо, если бы я мог получить эту предварительную выборку.

Например, я хочу отсортировать по shop_id, например, это имя таблицы используется в двух соединенных таблицах. Если я сделаю что-то вроде «ORDER BY shop_id», я получу ошибку, что столбец неоднозначен. Вот почему мне нужно знать, какие столбцы принадлежат какой таблице, чтобы я мог сделать что-то вроде «ORDER BY shop.shop_id»

Надеюсь, ты сможешь мне помочь. Спасибо! 🙂

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]