2

私は2つの教義2エンティティを持っています:-国(id、名前)-マッピング(id、objectType、internalId、externalId)

次の条件を使用して、CountryとMappingを関連付ける必要があります:Country.id = Mapping.internalId AND Mapping.objectType ='country'

YAML / XMLマッピングを使用してこの関係を実装できますか?

4

2 に答える 2

1

これは現在、Doctrine 2 ではサポートされていません。関連付けの外部キーは主キーにマップする必要があり、まだ関連付けにフィルターを実装することはできません。フィルタは 2.1 で実装される予定です。

于 2010-11-18T15:02:05.153 に答える
1

これは、継承マッピングを使用して実装できます。Country エンティティは Mapping エンティティのサブクラスになります。次に、次のように Country をロードできます。

$em->getRepository('entity\name\of\Country')->findBy(array('internalId' => 1));

オブジェクトから本当に必要なものを慎重に調査してください。特定の状況では、継承マッピングが非常にうまく機能することがわかりました。ドメインについて慎重に検討し、これが該当するかどうかを確認する必要があります。

于 2010-11-18T18:42:45.497 に答える