Запрос Zend framework с внутренним соединением и AS

Я пытаюсь превратить следующий запрос в действительный запрос zf, но получаю ошибки. Я надеюсь, что кто-нибудь сможет мне помочь с этим.

SELECT c1.id as c1id, c1.cat, c2.id,c2.sub_cat
FROM `categories`as c1
inner join categories as c2 on c2.cat = c1.cat
where c1.seo = 'tech'

С уважением,

Ники


person Nicky    schedule 20.09.2011    source источник


Ответы (1)


Вы пробовали преобразовать его в запрос Zend_Db_Select?

$sel = $db->select();
$sel->from(array('c1' => 'categories'), array(
    'c1id' => 'c1.id', 
    'c1.cat',
    'c2.id',
    'c2.sub_cat'
));
$sel->join(array('c2' => 'categories'), 'c2.cat = c1.cat', array());
$sel->where('c1.seo = ?', 'tech');
person tombazza    schedule 20.09.2011
comment
Я получаю следующее сообщение об ошибке: SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец «c1.c1id» в «списке полей». Когда я выполняю необработанный запрос в phpmyadmin, он отлично работает. - person Nicky; 20.09.2011
comment
Кажется, это работает, когда я меняю c1id на просто id, разве не странно? Я не могу понять причину - person Nicky; 20.09.2011
comment
Моя ошибка, я перепутал порядок этой колонки. Это должно быть 'псевдоним' = ›'имя_столбца'! Обновил ответ. - person tombazza; 20.09.2011