Doctrine 2,序列化返回代理类

时间:2015-03-06 13:41:41

标签: doctrine-orm silex

我正在使用Silex和Doctrine创建一个API,它使用了Doctrine Associations。我正在使用JMSSerializer来序列化实体。

所有实体都返回为漂亮的JSON对象,除了一个具有ManyToOne关联的对象。

我发现当这个特定实体被序列化时,它实际上是序列化的Proxy类,包括如下属性:

"__initializer__": null,
"__cloner__": null,
"__isInitialized__": true,

为什么我在这种情况下获取代理类而不是实体?为了加载完整的实体,我尝试在序列化之前调用应用程序中的Objects上的方法,但我似乎总是得到Proxy类。

1 个答案:

答案 0 :(得分:0)

我的临时解决方案是将ManyToOne关联更改为ManyToMany并在模型中实现ManyToOne约束。

这不是很优雅,但它似乎阻止了ORM提供代理类,并在获取一个代理时为关联的两端提供有用的实体。