我正在开发一个 Zend Framework 2 应用程序,该应用程序具有一个复杂的类 ( Foo
),该类具有多个嵌套级别 (Foo.Bar
等Foo.Baz.Buz
)。数据存储在关系数据库 (MySQL) 中。在应用程序级别,hydrate
它DataObject
被Zend\Hydrator\ClassMethods
.
为了获得构建所需的所有数据,Foo
DataObject
我使用了一条 SQL 语句(由 包裹Zend\Db\Sql\Select
)。当ResultSet
我得到一张这样的大桌子时:
id some_foo_attr bar_id some_bar_attr baz_id some_baz_attr buz_id some_buz_attr
-------------------------------------------------------------------------------
1 foo_value_a 1 bar_value_a 1 baz_value_a 1 buz_value_a
1 foo_value_a 1 bar_value_a 1 baz_value_a 2 buz_value_b
1 foo_value_a 1 bar_value_a 2 baz_value_b 3 buz_value_c
1 foo_value_a 1 bar_value_a 2 baz_value_b 4 buz_value_d
1 foo_value_a 2 bar_value_b 3 baz_value_c 6 buz_value_e
1 foo_value_a 2 bar_value_b 3 baz_value_c 7 buz_value_f
1 foo_value_a 2 bar_value_b 4 baz_value_d 8 buz_value_g
1 foo_value_a 2 bar_value_b 4 baz_value_d 8 buz_value_h
2 foo_value_b 3 bar_value_c 5 baz_value_e 9 buz_value_i
...
现在我有一个问题来获取这些数据到DataObject
s。什么是有效的方法来做到这一点?或者也许我之前犯了一个错误,应该以不同的方式检索数据?