Pull to refresh

Select теряет ON при JOIN'e

Reading time 1 min
Views 627
Столкнулся с проблемой в ZF.
Есть две связанных таблицы. Обе наследуют Zend_Db_Table_Abstract. Формируем запрос к БД:

$select = $this->select();
$select->where(’Catalog.trashed = ?’, 1)
->where(’C.trashed = ?’, 0)
->join(array(’C’ => ‘Categories’), ‘C.id = Catalog.categoryid’, array())
->order($sort);


Смотрим запрос к БД:
SELECT `Catalog`.* FROM `Categories` AS `C` INNER JOIN `Catalog` WHERE (Catalog.trashed = 1) AND (C.trashed = 0) ORDER BY `sort` ASC

ON в JOIN потерялся.


А вот и решение:

$select = $this->select();
$select->assemble();
$select->where(’Catalog.trashed = ?’, 1)
->where(’C.trashed = ?’, 0)
->join(array(’C’ => ‘Categories’), ‘C.id = Catalog.categoryid’, array())
->order($sort);


Получаем:
SELECT `Catalog`.* FROM `Catalog` INNER JOIN `Categories` AS `C` ON C.id = Catalog.categoryid WHERE (Catalog.trashed = 1) AND (C.trashed = 0) ORDER BY `sort` ASC

Вот такие пироги. Может кому поможет…

Кросспост из блога
Tags:
Hubs:
-2
Comments 4
Comments Comments 4

Articles