【问题标题】:straight join in zend framework直接加入zend框架
【发布时间】:2012-06-11 13:37:46
【问题描述】:

我使用 Zend 框架/mysql 使用 Zend_Db_Table::getDefaultAdapter 使用左连接。这也支持直接加入吗?如果是,我该怎么做?我尝试检查文档。找不到。感谢您的帮助

【问题讨论】:

    标签: php mysql zend-framework join


    【解决方案1】:

    我使用 Zend_Db_Select 的这个 hack:

    $select->from($tableName, array(new Zend_Db_Expr(' STRAIGHT_JOIN ' . $tableName . '.*'));
    

    希望这对某人有所帮助。

    【讨论】:

      【解决方案2】:

      查看Zend源码,使用Zend_Db_Select时似乎不支持STRAIGHT_JOIN。但是,您可以自己编写 SQL 语句,然后使用 DB 适配器直接执行它:

      $db = Zend_Db_Table::getDefaultAdapter();
      
      //Taken from: http://framework.zend.com/manual/en/zend.db.adapter.html#zend.db.adapter.select.fetchall
      $sql = 'SELECT * FROM bugs WHERE bug_id = ?';
      $result = $db->fetchAll($sql, 2);
      

      如果您已经使用Zend_Db_Select 进行了复杂查询,则可以使用__toString() 方法并将该字符串用作修改后查询的基础。

      //Taken from: http://framework.zend.com/manual/en/zend.db.select.html#zend.db.select.execute.tostring
      $select = $db->select()->from('products');
      $sql = $select->__toString();
      

      【讨论】:

        猜你喜欢
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多