Ответ 1
Не уверен в Zend, но в SF2 + Doctrine вы можете использовать метод getValues()
.
$asArray = $persistentCollection->getValues();
Каков наилучший способ (простой) конвертировать непрерывную коллекцию объектов Doctrine 2 в массив с Zend Framework 2? Я хочу преобразовать в массив и позже вывести его с помощью JsonView. Я могу написать функцию, которая использует get_object_var, но это проблема, когда сущность имеет следующую коллекцию сущностей.
С уважением.
Не уверен в Zend, но в SF2 + Doctrine вы можете использовать метод getValues()
.
$asArray = $persistentCollection->getValues();
Я отвяжу ответ в 2 частях, главным образом потому, что вы недостаточно прояснили, если хотите решить чисто PersistentCollection или всю сериализацию графа.
1- Предполагая, что вы уже знаете, как решить сериализацию Entity, PersistentCollection можно преобразовать в массив Entities, вызвав метод toArray().
2 Предполагая, что вы этого не сделаете, я предлагаю вам либо использовать предварительно встроенную библиотеку, например JMS Serializer. Если вы хотите создать свой собственный вручную, используйте экземпляр ClassMetadata, который можно извлечь из EntityManager- > getClassMetadata (get_class ($ someEntity)) и итерации через свойства fieldMappings и associationMappings.