Как построить несколько сложных вложенных объектов из набора результатов запроса базы данных?

Я работаю над приложением 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
...

Теперь у меня проблема с получением этих данных DataObjects. Какой эффективный способ сделать это? Или, может быть, я сделал ошибку на шаг раньше и должен получить данные по-другому?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …