假设MongoDB记录如下所示。有没有办法如何将字段'meta.fce_id'和'meta.fce_name'映射到Symfony2表单类型,以便我可以在浏览器中编辑它们,Symfony能够将它正确地存储回MongoDB吗? (我们对MongoDB使用Doctrine ODM)
{
"_id" : ObjectId("545a72db698ef0bfa5a8fd04"),
"title" : "David",
"meta" : {
"fce_id" : "ADF7584S",
"fce_name" : "CEO"
}
}
答案 0 :(得分:0)
通过为嵌入对象创建表单类型来解决此常见需求。在您的情况下,您将创建一个包含其自己的id
和name
字段的MetaType,然后将其作为最顶层表单中的meta
字段包含在内。 Embedding a Single Object上的Symfony书籍条目应引导您完成整个过程的每一步。
如果您最终需要扩展此功能以使用多个关系,How to Embed a Collection of Forms上的食谱条目将会有所帮助。这两篇文章都引用了Doctrine ORM,但它们足够通用,相同的概念也适用于ODM。