无法在Zend中的分支文件夹之间执行JOIN

时间:2012-03-06 10:38:21

标签: php mysql zend-framework join

我正在尝试触发一个查询,该查询应该从多个表中给出结果....我在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,但问题是我应该怎么做Table4,bcoz我也希望该表中的数据...我怎么能做一个可以做分支JOINS的查询..从2天开始工作...... Plz帮我修补...提前谢谢

1 个答案:

答案 0 :(得分:1)

我没有测试过,但应该没问题。

连接表时,必须指定连接的条件表达式。因此,您只需在加入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(...);