我正在使用Symfony2和Doctrine 2.0。我試圖從XML Feed中讀取數據並將其映射到數據庫中的新實體或現有實體。當XML Feed中的數據發生變化時,我需要更新現有實體,但是當添加數據時,我應該創建新的實體。Symfony2將XML數據非規範化爲與關係相關的主體實體
在我的實體類,我用下面去正規化方法將XML數據映射到實體的屬性:
function denormalize(SerializerInterface $serializer, $data, $format = null)
(在Symfony的\分量\串行\叫我的實體類內部串行定義)
該方法的文檔聲明:「理解denormalize()調用應遞歸化實現器的所有子對象是非常重要的。」這就是我想要做的。然而,實體不應該知道EntityManager,因此如何在denormalize()方法內檢查相關/子實體是否已經存在或不存在?
親切的問候, 馬修
由於加布裏埃爾,其實我在反規範化控制檯命令的實體,但我在這種情況下猜命令或控制器不會使很大的差異。我認爲這個問題實際上是我過早做了太多事情,現在我決定採取一種新方法。我會在下面更詳細地解釋。請讓我知道你的想法 :) – mattvick