如何从数据库请求结果集中构建多个复杂的嵌套对象?

时间:2016-05-06 20:20:40

标签: php mysql zend-framework2 zend-db data-objects

我正在使用具有多层嵌套(FooFoo.Bar等)的复杂类(Foo.Baz.Buz)的Zend Framework 2应用程序。数据存储在关系数据库(MySQL)中。在应用程序级别,hydrateDataObject Zend\Hydrator\ClassMethods转为Foo

要获取构建DataObject ResultSet所需的所有数据,我使用SQL语句(由Zend\Db\Sql\Select包装)。作为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

现在我有一个问题要将这些数据发送到WlanClient client = new WlanClient(); WlanClient.WlanInterface m_WlanInterface = client.Interfaces.Where(i => i.InterfaceDescription.Contains(InterfaceIdentifierString)).First(); m_WlanInterface.DeleteProfile(ConnectionProfileString); 。有效的方法是什么?或者我可能在前一步犯了一个错误,应该以不同的方式检索数据?

0 个答案:

没有答案