直接加入zend框架

时间:2012-06-11 13:37:47

标签: php mysql zend-framework join

我使用了使用Zend_Db_Table :: getDefaultAdapter的zend framework / mysql左连接。这也支持直接加入吗?如果是,我该怎么做?我试过检查文档。找不到。谢谢你的帮助

2 个答案:

答案 0 :(得分:3)

我使用Zend_Db_Select的这个黑客:

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

希望这有助于某人。

答案 1 :(得分:0)

查看Zend源代码,使用STRAIGHT_JOIN时似乎不支持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();