2015-06-04 85 views
2

反序列化過程OneToMany-ManyToOne過程總是獲取關係數據集NULL。JMSSerializerBundle,反序列化在持續之後不存在關係

結果實體:

@ORM\OneToMany(targetEntity="\Acme\DemoBundle\Entity\AnswerContent", mappedBy="answerResult", cascade={"persist", "remove"}, orphanRemoval=true) 
@JMS\Type("ArrayCollection<Acme\DemoBundle\Entity\AnswerContent>") 
@JMS\Groups({"survey_answer_fetching"}) 

答案實體:

@ORM\ManyToOne(targetEntity="Acme\DemoBundle\Entity\AnswerResult", inversedBy="answers") 
@ORM\JoinColumn(name="answer_result_id", referencedColumnName="id") 
@JMS\Type("Acme\DemoBundle\Entity\AnswerResult") 

這裏是JSON:

{"results": 
[{"answers":[ 
{"choices":[{"fieldId":1}],"value":"","questionId":45}, 
{"choices":[{"fieldId":1}],"value":"","questionId":67}], 
"someId":9 
}], 
"personId":18} 


$serializer = $this->get('jms_serializer'); 
$data = $serializer->deserialize($json['json'], 'Acme\\DemoBundle\\Entity\\AnswerResult', 'json'); 

和反序列化過程是assings這個值...

Ev一切都很好,所有json變量都設置正確的實體屬性。

$em->persist($data); 
$em->flush(); 

值傳遞給數據庫,但關係不是...... JMSSerializationBundle的所有文檔。所有的JMS類型定義...

但DB /學說沒有映射關係......

回答

3

我解決了同樣的問題與合併()函數:

$entity = $em->merge($data); 
$em->persist($entity); 
$em->flush(); 
+3

我加了級聯= { 「堅持」,「刪除」,「合併」}它的作品... – Tigin

相關問題