0
我有一個實體對象,其屬性爲id
和trucknr
。我放置了一些數據,然後查詢所有數據。 我使用JMS SerializerBundle將其序列化爲JSON,並且我使用file_put_contents
將其導出爲JSON文件,然後使用deserialize
來讀取我的JSON文件,並且它反序列化正常。 我使用:在Symfony2中持久反序列化的對象錯誤
$read = $serializer->deserialize($file,'ArrayCollection<App\TestBundle\Entity\Truck>','json');
問題是,當我試圖堅持這一到我的數據庫。對於我所用:當我在$read
運行dump_var
EntityManager#merge() expects parameter 1 to be an entity object, array given.
我得到的三排的陣列集合:
$em = $this->getDoctrine()->getManager();
$em->merge($read);
$em->flush();
我得到這個錯誤
array(3) { [0]=> object(App\TestBundle\Entity\Truck)#767 (2) { ["id":protected]=> NULL ["trucks_nr":protected]=> string(4) "1243" }
[1]=> object(App\TestBundle\Entity\Truck)#782 (2) { ["id":protected]=> NULL ["trucks_nr":protected]=> string(4) "3245" }
[2]=> object(App\TestBundle\Entity\Truck)#783 (2) { ["id":protected]=> NULL ["trucks_nr":protected]=> string(4) "5622" } }
我不知道我想要做什麼是可能的。當我查詢一行時,它仍然存在或合併正常。是否有可能持久化一個數組的對象集合,如果是這樣,如何?
我一直在玩合併和堅持。我實際上想要根據唯一字段更新實體。所以如果我的領域已經使用它應該合併,如果不是它應該更新。我使用ID進行測試如果我使用ID序列化並使用合併,它會使用我的新值更新那些使用的ID。但如果我的JSON有新的ID和使用ID,當我使用合併時出現錯誤。並堅持似乎創造新的對象。 – Don