如何将MongoDB emebded键/值结构映射到Symfony Form字段?

时间:2014-11-05 19:03:22

标签: mongodb symfony

假设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"
    }
}

1 个答案:

答案 0 :(得分:0)

通过为嵌入对象创建表单类型来解决此常见需求。在您的情况下,您将创建一个包含其自己的idname字段的MetaType,然后将其作为最顶层表单中的meta字段包含在内。 Embedding a Single Object上的Symfony书籍条目应引导您完成整个过程的每一步。

如果您最终需要扩展此功能以使用多个关系,How to Embed a Collection of Forms上的食谱条目将会有所帮助。这两篇文章都引用了Doctrine ORM,但它们足够通用,相同的概念也适用于ODM。