我使用 Zend 框架/mysql 使用 Zend_Db_Table::getDefaultAdapter 使用左连接。这也支持直接加入吗?如果是,我该怎么做?我尝试检查文档。找不到。谢谢您的帮助
问问题
685 次
2 回答
3
我使用 Zend_Db_Select 的这个技巧:
$select->from($tableName, array(new Zend_Db_Expr(' STRAIGHT_JOIN ' . $tableName . '.*'));
希望这可以帮助某人。
于 2013-06-03T18:03:11.347 回答
0
看 Zend 源码,似乎是不支持STRAIGHT_JOIN
when using的Zend_Db_Select
。但是,您可以自己编写 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();
于 2012-06-11T14:40:32.597 回答