我正在使用 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