【问题标题】:How do I quickly create a complex select query using Zend_Db?如何使用 Zend_Db 快速创建复杂的选择查询?
【发布时间】:2008-12-13 01:55:31
【问题描述】:

假设有类似的东西:

SELECT energy_produced, energy_consumed, timestamp1 AS timestamp FROM (
SELECT max(energy_produced) AS energy_produced, mid(timestamp, 1, 10) AS timestamp1 FROM tbl_energy
WHERE site_id = 1366 AND mid(timestamp, 1, 10) >= DATE_SUB(curdate(),INTERVAL 1 day)
group by mid(timestamp1, 1, 10)) AS e1
INNER JOIN (
SELECT max(energy_consumed) AS energy_consumed, mid(timestamp, 1, 10) AS timestamp2 FROM tbl_energy
WHERE site_id = 1366 AND mid(timestamp, 1, 10) >= DATE_SUB(curdate(),INTERVAL 1 day)
group by mid(timestamp2, 1, 10)) AS e2
ON e1.timestamp1 = e2.timestamp2

我可以把它塞进一个变量中,然后像 $db->fetchAll($select)->toArray 这样调用傻瓜吗?

【问题讨论】:

    标签: php mysql zend-framework zend-db-table


    【解决方案1】:

    是的,您可以将 SQL 语句作为字符串传递给 $db->fetchAll() 方法。

    您不需要对结果调用toArray(),因为默认情况下结果已经作为数组返回。

    Zend_Db_Table 类也有一个 fetchAll() 方法,但它不接受 SQL 字符串,它返回一个 Zend_Db_Table_Rowset 对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-02
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      • 2019-06-11
      • 1970-01-01
      • 1970-01-01
      • 2013-03-16
      相关资源
      最近更新 更多