2012-03-06 53 views
1

我试图激发一个查询,应该给我多个表的结果....我在做JOINzend framework 1.10.0 ...但问题是我有桌子它们作为分支连接。
例如无法在Zend中的分支文件夹之间执行JOIN

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,bcoz我想从该表中的数据也...我怎样才能使一个查询这可如何是好Branch JOINS ...从2天开始工作... Plz帮我推出...提前致谢

回答

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(...); 
+1

得到它的时候....我在做同样的,但只是遗忘“ - > setIntegrityCheck(假)”行....我增加它和它工作完成....感谢您的帮助.. nJoy :) – 2012-03-09 04:30:46