Невозможно выполнить соединение между разветвленными папками в Zend - PullRequest
1 голос
/ 06 марта 2012

Я пытаюсь запустить запрос, который должен дать мне результат из нескольких таблиц .... Я делаю JOIN в zend framework 1.10.0 ... но проблема в том, что у меня есть таблицы, которые связаны как ветвь .
например

Table 1 (T1 PK)  
    Table 2 (T2 PK, T1 FK)  
    Table 3 (T3 PK, T1 FK)  
    Table 4 (T4 PK, T2 FK)  
    Table 5 (T5 PK, T1 FK)  

Теперь я могу join Table1, with Table2, Table3 & Table5, но проблема в том, что мне делать с таблицей 4, потому что мне нужны данные из этой таблицы ... Как я могу сделать запрос, который может выполнять Branch JOINS ... Работа на это от 2 дней ... плз, помогите мне друзья ... заранее спасибо

1 Ответ

1 голос
/ 06 марта 2012

Я не проверял, но все должно быть в порядке.

При объединении таблиц вы должны указать условное выражение объединения. Таким образом, вы просто должны ссылаться на правильную таблицу при присоединении к T4

$dbTable = new Aplication_Model_DbTable_T1();
$select = $dbTable->select()
                  ->setIntegrityCheck(false)
                  ->from(array("t1" => "table1"), array(t1 columns to fetch...))
                  ->join(array("t2" => "table2"), "t2.t1 = t1.id",array(t2 cols to fetch))
                  ->join(array("t3" => "table3"), "t3.t1 = t1.id",array(t3 cols to fetch))
                  ->join(array("t4" => "table4"), "t4.t2 = t2.id",array(t4 cols to fetch))
                  ->join(array("t4" => "table4"), "t5.t1 = t1.id",array(t4 cols to fetch))
                  ->where(...);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...