【问题标题】:add multi tables in from() zend_db_select在 from() zend_db_select 中添加多个表
【发布时间】:2013-05-14 12:10:15
【问题描述】:

我必须为此 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 只取第一个表

有什么办法可以解决这个问题吗? 谢谢

【问题讨论】:

  • t1.idt2.idst3.uid之间有关系吗?也许你可以根据 JOIN 重写你的 SQL 查询。
  • 表之间没有关系
  • 好吧,在这种情况下,您可以随时执行您的raw MySQL query

标签: zend-framework zend-db-select


【解决方案1】:

您可以使用交叉连接:

$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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    • 2013-07-31
    • 1970-01-01
    • 2012-10-05
    • 2017-03-22
    相关资源
    最近更新 更多