我有这样的json:
"relatedCollection": [
{
id:1,
name: "something",
country: {
id:1
}
},
{
id:2,
name: "something 2",
country: {
id:1
}
}
]
数据库中存在共同国家的两个相关项目。如果我使用 JMSserializer 反序列化,它会创建 COUNTRY entity 的两个不同实例。
当您应用与学说合并时,请将国家/地区正确设置为“某事”,而不是“某事 2”。所以保存后的结果是:
"relatedCollection": [
{
id:1,
name: "something",
country: {
id:1
}
},
{
id:2,
name: "something 2",
country: null
}
]
对于 Doctrine,有两个不同的实体,称为 Country,它们是分离的。教义附加第一个并正确保存它,但不是第二个。
当您合并具有相同相关实体 id 的集合时,这只会发生在关系 ManyToOne 上。如果你保存国家1和国家2,没有重复的国家,所以保存财产。
有什么解决办法吗?