【问题标题】:zend_db_select join using 3 or more tableszend_db_select 使用 3 个或更多表连接
【发布时间】:2011-02-07 03:13:25
【问题描述】:

所以 Zend_db_select 有方法

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

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

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

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

但是如果你想加入 3 个或更多的表(例如用于多对多关联)....例如:这个查询:

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

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

【问题讨论】:

    标签: php mysql zend-framework join zend-db-select


    【解决方案1】:

    尝试做...但我不太确定是否可以使用两个字段,但尚未尝试使用 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)查询查询

    【讨论】:

      【解决方案2】:

      尝试使用子查询和 Zend_Db_Expr。阅读更多here

      【讨论】:

        猜你喜欢
        • 2017-07-26
        • 1970-01-01
        • 2021-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多