2012-06-11 89 views
0

我用Zend_Db_Table :: getDefaultAdapter使用了Zend框架/ mysql中的左連接。這是否也支持直接連接?如果是的話,我該怎麼做?我試着檢查文檔。找不到。感謝您的幫助在zend框架中直接連接

回答

0

看着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(); 
3

我使用這個技巧Zend_Db_Select對象的:

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

希望這有助於人。