我正在使用Doctrine 2 ORM将我的SQL表映射到对象中。
是否有像asArray
这样的支持方法将我的对象转换为数组?
答案 0 :(得分:1)
您只需使用the Doctrine 2 documentation chapter 14.7.4.2. Array Hydration中提到的getArrayResult
方法:
$array = $query->getArrayResult();
这是@Joucks在this answer指向的his comment的简短表示法,并且与the ArraySerializableInterface
完全相同:
$array = $query->getResult(Query::HYDRATE_ARRAY);
但是,您不一定要查看特定的Doctrine ORM解决方案来获得此类序列化功能。您还可以查看您正在使用的PHP框架附带的解决方案。
例如,如果您使用Zend-Framework,则可以在希望能够序列化为数组的对象中实现Zend-Framework 2 Zend\Stdlib
documentation。
此接口包含getArrayCopy
方法,该方法应将序列化的对象返回到数组。
ArraySerializable
Symfony附带{{3}}。
对于其他框架,我希望它们附带类似的接口/解决方案。