Zend DB Выбрать с несколькими объединениями таблиц

Попытка реплицировать следующий запрос с помощью Zend_Db_Select . Любые указатели?

 SELECT compounds.id as compounds_id, reactions.id as reactions_id, reaction_compound.number as reaction_compound_number FROM compounds, reactions, reaction_compound WHERE compounds.id IN (68,74,112) AND compounds.id = reaction_compound.compound AND reactions.id = reaction_compound.reaction; 

В частности, некоторые проблемы, с которыми я столкнулся, – это объединение нескольких таблиц в Zend. Я не уверен, как сделать объединение нескольких таблиц с помощью своего построителя запросов.

Любая помощь приветствуется!

J

Что-то вроде:

 $compoundIds = array(68,74,112); $select = $db->select() ->from('compounds', array('compounds_id' => 'id') ->where('compounds.id in ( ? )', $compoundIds) ->join('reaction_compound', 'compounds.id = reaction_compound.compound', array('reaction_compound_number' => 'number')) ->join('reactions', 'reactions.id = reaction_compound.reaction', array('reaction_id' => 'id'); 

Это должно привести вас куда-нибудь. Я не тестировал его, поэтому там могут быть некоторые ошибки.

Формат:

 $db->select()->from('table_name')->join('...')->join('...') 

Прекрасно работает!
Спасибо вам обоим плакатам за эту информацию! Помог мне решить довольно doozy! (Абстрактные модели таблиц о, мой !!) Lol

Ps: Другим, кто должен использовать тот же формат, подробно описанный выше, помните, что имена столбцов будут перезаписаны последними таблицами с одинаковыми именами столбцов. Счастливое кодирование!