使用Zend Framework 2将Doctrine 2实体持久集合转换为数组的最佳方法(简单)是什么?我想转换为数组,然后用JsonView输出它。我可以编写使用get_object_var的函数,但是当实体有下一个实体集合时它是一个问题。
问候。
答案 0 :(得分:40)
不确定Zend,但在SF2 + Doctrine中,您可以使用getValues()
方法。
$asArray = $persistentCollection->getValues();
答案 1 :(得分:2)
我将答案分为两部分,主要是因为如果你想纯粹解决PersistentCollection或整个图形序列化,你还没有弄清楚。
1-假设您已经知道如何解决Entity的序列化,可以通过调用toArray()方法将PersistentCollection转换为实体数组。
2-假设您没有,我建议您使用预先构建的库,如JMS Serializer。 如果您想手动创建自己的,请使用可从EntityManager-> getClassMetadata(get_class($ someEntity))中提取的ClassMetadata实例,并迭代fieldMappings和associationMappings属性。