0

所以 Zend_db_select 有方法

  `joinUsing(table, join, [columns]) and joinInnerUsing(table, join, [columns])`

  `joinLeftUsing(table, join, [columns])`

  `joinRightUsing(table, join, [columns])`

  `joinFullUsing(table, join, [columns])`

ETC

但是如果你想加入 3 个或更多表(例如,多对多关联)怎么办……例如:这个查询:

 SELECT * FROM (j LEFT JOIN e ON j.id = e.eee) LEFT JOIN w ON w.www = e.id

您将如何使用 zend_db_select 执行此操作

4

2 回答 2

0

尝试做......但我不太确定适用于两个字段,但没有尝试过 3 个字段

$dbmodel->select(false)
    ->setIntegrityCheck(false)
    ->from(array('t1' => 'table1'))
    ->joinLeft(array('t2' => 'table2'),                                             
        't1.somefeild = t2.somefeild')
    ->joinLeft(array('t3' => 'table3'),                                             
        't2.somefeild = t3.somefeild')

您尝试构建查询,也可以通过以下方式检查查询die((string)$select)

于 2011-02-07T06:16:17.133 回答
0

尝试使用子查询和 Zend_Db_Expr。在这里阅读更多。

于 2011-02-07T06:01:05.640 回答