php - 在执行 UNION 查询时,如何让 Zend Db 返回行集而不是数组?

标签 php zend-framework zend-db

我有一个结果集,它是 MySQL UNION 查询的结果。我用来获取数据的代码是:

$union_select = $PagesTable->getAdapter()->select()
        ->union(array('(' . $legal_resources_select . ')', '(' . $pages_select . ')'));
$PagesTable->getAdapter()->fetchAll($union_select)

$PagesTable 扩展 Zend_Db_Table_Abstract。完整的选择太大而无法在此处发布,我认为它与这个特定问题无关。如果我错了,请告诉我。

目前这是返回一个结果数组,但我希望它返回一个行集对象。我还必须能够指定 $_rowClass。这是必要的,因此我可以添加格式化和操作返回值的方法。

这可能吗?

最佳答案

你不能。您要获取的结果集是一个组合,而不是来自数据库的一组行,因此即使可能,这也是一个非常糟糕的主意。

Zend_Db_Table 是 Table Data Gateway 模式的实现,而不是 Active Record。

您描述的内容通常在 Active Record 下是可能的,为此,我建议您查看 Doctrine 1.2 而不是 Zend_Db_Table。

关于php - 在执行 UNION 查询时,如何让 Zend Db 返回行集而不是数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6109795/

相关文章:

zend-framework - Zend Framework 如何回显 SUM 查询的值

php - 如何检查 Zend_Db_Adapter_Pdo_Mysql 对象是否连接到数据库

php - ActiveMQ/PHP Stomp 使用 TextMessage 而不是 BytesMessage

php - 通过 php 检查复选框时隐藏 html

php - Zend_Search_Lucene 与 SOLR

php - Zend : How to get view in Bootstrap. php?

mysql - 使用 MySQL 匹配和联合进行 ZEND 搜索

javascript - 如何像使用 PHP 一样在 HTML 页面中运行 Node.js 脚本?

javascript - Ajax、PHP、SQL 和 JavaScript

zend-framework - Zend 框架 : How to POST data to some external page (e. g。外部支付门)不使用表格?