私は2つの教義2エンティティを持っています:-国(id、名前)-マッピング(id、objectType、internalId、externalId)
次の条件を使用して、CountryとMappingを関連付ける必要があります:Country.id = Mapping.internalId AND Mapping.objectType ='country'
YAML / XMLマッピングを使用してこの関係を実装できますか?
私は2つの教義2エンティティを持っています:-国(id、名前)-マッピング(id、objectType、internalId、externalId)
次の条件を使用して、CountryとMappingを関連付ける必要があります:Country.id = Mapping.internalId AND Mapping.objectType ='country'
YAML / XMLマッピングを使用してこの関係を実装できますか?
これは現在、Doctrine 2 ではサポートされていません。関連付けの外部キーは主キーにマップする必要があり、まだ関連付けにフィルターを実装することはできません。フィルタは 2.1 で実装される予定です。
これは、継承マッピングを使用して実装できます。Country エンティティは Mapping エンティティのサブクラスになります。次に、次のように Country をロードできます。
$em->getRepository('entity\name\of\Country')->findBy(array('internalId' => 1));
オブジェクトから本当に必要なものを慎重に調査してください。特定の状況では、継承マッピングが非常にうまく機能することがわかりました。ドメインについて慎重に検討し、これが該当するかどうかを確認する必要があります。