Zend framework 在from()zend_db_select中添加多个表

Zend framework 在from()zend_db_select中添加多个表,zend-framework,zend-db-select,Zend Framework,Zend Db Select,我必须为此sql使用zend_db_select从多个表中进行选择: SELECT t1.id,t2.ids, t3.uid FROM table1 t1,table2 t2, table3 t3 这是使用的代码: $subQuery = $this->getDbTable ()->select ()->setIntegrityCheck ( false ) ->from(array('t1'=>'table1','t2'=>'table2','t3'=&

我必须为此sql使用zend_db_select从多个表中进行选择:

SELECT t1.id,t2.ids, t3.uid 
FROM table1 t1,table2 t2, table3 t3
这是使用的代码:

$subQuery = $this->getDbTable ()->select ()->setIntegrityCheck ( false )
->from(array('t1'=>'table1','t2'=>'table2','t3'=>'table3'),array('t1.id','t2.ids','t3.uid'))
->query()
->fetchAll();
所以我有一个错误消息说t2.ids不在列列表中 因为zend_db_select只取第一个表

有解决这个问题的办法吗?
thaks

您可以使用交叉连接:

$subQuery = $this->getDbTable ()->select ()->setIntegrityCheck ( false )
->from(array('t1'=>'table1'),array('t1.id'))
->joinCross(array('t2'=>'table2'),array('t2.ids'))
->joinCross(array('t3'=>'table3'),array('t3.uid'))
->query()
->fetchAll();

t1.id、t2.id和t3.uid之间有关系吗?也许您可以基于连接重新编写SQL查询。表之间没有关系。在这种情况下,您可以始终执行您的查询。