我正在尝试触发一个查询,该查询应该从多个表中给出结果....我在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帮我修补...提前谢谢
答案 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(...);