Zend framework2 基于一个表的结果查询两个表-Zend 2

Zend framework2 基于一个表的结果查询两个表-Zend 2,zend-framework2,zend-db,Zend Framework2,Zend Db,我正在使用TableGateways和对象映射器,对象映射器使用exchangeArray()方法获取数据库结果。这种方法非常适合一次性获取数据 但是,我正在努力呈现一个结果表,其中我希望通过执行查询在foreach循环中为每一行获取另一个resultset 在常规PHP中,我只需为第一组数据编写一个循环,然后在第一个循环中编写另一个循环,对每个记录执行查询。这并没有遵循Zend的MVC方法,那么我如何实现同样的目标呢 这与连接无关 我有一张发票和付款表。我将输出一个付款表,对于每一笔付款,我希

我正在使用TableGateways和对象映射器,对象映射器使用exchangeArray()方法获取数据库结果。这种方法非常适合一次性获取数据

但是,我正在努力呈现一个结果表,其中我希望通过执行查询在foreach循环中为每一行获取另一个resultset

在常规PHP中,我只需为第一组数据编写一个循环,然后在第一个循环中编写另一个循环,对每个记录执行查询。这并没有遵循Zend的MVC方法,那么我如何实现同样的目标呢

这与连接无关

我有一张发票和付款表。我将输出一个付款表,对于每一笔付款,我希望输出与该特定付款相关的发票。我正试图使用Zend的MVC和TableGateway模式来实现这一点

谢谢

在常规PHP中,我只需为第一组数据编写一个循环,然后在第一个循环中编写另一个循环,对每个记录执行查询。这并没有遵循Zend的MVC方法,那么我如何实现同样的目标呢

好吧,问题是MVC模式会给这样的东西增加一定程度的复杂性,这不一定是一件坏事

您仍然可以像以前一样,循环遍历结果并获取相关数据。但是,与在显示数据时执行此操作不同,您可以在控制器中执行此操作,或者最好在计算机中执行此操作。这是增加的复杂性级别,因为您必须在结果中循环两次。一次收集关联数据,一次显示关联数据。同样,这也不一定是一件坏事,因为它不允许您更改数据的外观而无需更改数据的收集方式,从而使代码更易于维护,反之亦然

或者,您可以使用诸如在一个函数调用中为您提供关系映射(在后台,它执行的是基本相同的两个循环)。当然,这意味着您需要了解ORM的工作原理及其API。

您是在说“左连接”吗?