【发布时间】:2012-08-29 16:06:15
【问题描述】:
我正在使用 Symfony 2.1 和 Doctrine - MongoDBBundle。
我有三份文件。第一个是一家公司,我称之为“机构”。第二个是机构内部的联系人,第三个是用户与联系人的谈话。
联系和交流嵌入到机构中,这在现实世界中是真实的。这不是问题。
但联系人被引用到 Exchange 文档中。这似乎与教义2更复杂......
首先,我想构建一个表单,它仅建议(在“选项”字段中,即 Symfony 2.1 中的本地选择字段或文档字段)仅嵌入在机构中当前“编辑”的联系人。
如何做到这一点?
我尝试使用数据转换器。但这会导致另一个问题:如果我有 Contact 对象,我如何检索父“机构”对象?
这可以通过 MongoDB 本机查询实现吗?还是使用查询生成器?
这是我的 YAML 映射:
对于机构:
SOFFT\ContactBundle\Document\Institution:
type: document
fields:
id:
id: true
type: id
# ...
embedMany:
contacts:
targetDocument: Contact
exchange:
targetDocument: Exchange
联系人:
SOFFT\ContactBundle\Document\Contact:
type: embeddedDocument
fields:
id:
id: true
#...
换汇:
SOFFT\ContactBundle\Document\Exchange:
type: embeddedDocument
fields:
id:
id: true
#...
referenceOne:
contact:
targetDocument: Contact
【问题讨论】:
标签: mongodb symfony doctrine-orm symfony-2.1 doctrine-odm