我正在尝试启动一个查询,该查询应给出来自多个表的结果。。。。我正在做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,bcoz我还需要来自该表的数据。。。我怎样才能做一个可以做分支连接的查询。。。从两天开始做这个。。。请帮我。。。提前谢谢 最佳答案
我还没试过,不过应该没问题。
联接表时,必须指定联接的条件表达式。所以你只要在加入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(...);