我正在使用Silex和Doctrine创建一个API,它使用了Doctrine Associations。我正在使用JMSSerializer来序列化实体。
所有实体都返回为漂亮的JSON对象,除了一个具有ManyToOne关联的对象。
我发现当这个特定实体被序列化时,它实际上是序列化的Proxy类,包括如下属性:
"__initializer__": null,
"__cloner__": null,
"__isInitialized__": true,
为什么我在这种情况下获取代理类而不是实体?为了加载完整的实体,我尝试在序列化之前调用应用程序中的Objects上的方法,但我似乎总是得到Proxy类。
答案 0 :(得分:0)
我的临时解决方案是将ManyToOne关联更改为ManyToMany并在模型中实现ManyToOne约束。
这不是很优雅,但它似乎阻止了ORM提供代理类,并在获取一个代理时为关联的两端提供有用的实体。