我正在使用 Symfony2 和 Doctrine 2.0。我正在尝试从 XML 提要中读取数据并将其映射到数据库中的新实体或现有实体。当 XML 提要中的数据发生更改时,我需要更新现有实体,但添加数据时,我应该创建新实体。
在我的实体类中,我使用以下非规范化方法将 XML 数据映射到实体的属性:
function denormalize(SerializerInterface $serializer, $data, $format = null)
(在我的实体类中调用的 Symfony\Component\Serializer\Serializer 中定义)
此方法的文档声明“重要的是要了解 denormalize() 调用应该递归地对实现者的所有子对象进行非规范化。” 这就是我想要做的。但是实体不应该知道 EntityManager 那么我如何在 denormalize() 方法中检查相关/子实体是否已经存在?
亲切的问候,马修