私はSymfony2.1とDoctrine-MongoDBBundleを使用しています。
私は3つの文書を持っています。一つ目は、私が「インスティテューション」と呼んでいる会社です。2つ目は施設内の連絡先であり、3つ目はユーザーが連絡先と行った話し合いです。
ContactとExchangeはInstitutionに組み込まれていますが、これは現実の世界でも当てはまります。これは問題ではありません。
ただし、連絡先はExchangeドキュメントで参照されます。これはdoctrine2ではもっと複雑なようです...
最初に、(Symfony2.1のNativeChoicesフィールドまたはDocumentフィールドである「option」フィールドに)現在「編集」されている機関に埋め込まれている連絡先のみを提案するフォームを作成したいと思います。
これを行う方法 ?
データトランスを使ってみました。しかし、これは別の問題につながります。Contactオブジェクトがある場合、親の「Institution」オブジェクトを取得するにはどうすればよいですか?
これは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