我有一个结果集,它是 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/