Question

What is best way (easy) to convert Doctrine 2 entity persistent collection to array with Zend Framework 2? I want convert to array and later output it with JsonView. I can write function which use get_object_var but it is a problem when entity has next entity collection.

Regards.

No correct solution

OTHER TIPS

Not sure about Zend, but in SF2 + Doctrine you can use getValues() method.

$asArray = $persistentCollection->getValues();

I'll decouple the answer in 2 parts, mainly because you haven't clarified enough if you want to solve purely the PersistentCollection or the entire graph serialization.

1- Assuming you already know how to solve Entity's serialization, the PersistentCollection can be turned into an array of Entities by calling toArray() method.

2- Assuming you don't, I suggest you to either use a pre-built library like JMS Serializer. If you want to create your own by hand, use the ClassMetadata instance that can be extracted from EntityManager->getClassMetadata(get_class($someEntity)) and iterating through fieldMappings and associationMappings properties.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top