2011-07-29 17 views
0

私は「投稿」エンティティを持っており、ユーザーはそれらの投稿に投票します。認証されたユーザと匿名のユーザによる投票は別々のDBテーブルに格納されているため、同じインタフェースを実装する2つの別々の "VoteAnonymous"エンティティと "VoteAuthenticated"エンティティがあります。doctrine2多形参照

"Post"エンティティとその "targetEntity"オプションで参照を定義することに問題があります。私はDoctrine2がその多面体クラスの1つをフィールドのターゲットエンティティとして選ぶことができる方法があるのだろうかと思います。

ありがとうございました。

P.S.私はDBを再設計することができません。このデータ構造上にあるたくさんのレガシーコードがあります。

+0

ああ、私はちょうど関係を一方向にして、良い古いPHPを使用しなければならないと思います。 – artshpakov

+1

私はこれが参考になると思います:http://stackoverflow.com/questions/6634357/doctrine-orm-conditional-association/6634436#6634436 – Crozin

+0

申し訳ありませんが、あなたのコメントのポイントを見るために私はいくつかの時間を要した:)私は何とか@MappedSuperclassアノテーションを見落とした。私はそれを受け入れるように答えを投稿しますか? – artshpakov

答えて

0

Doctrineは継承をサポートしているので、あなたが共通のparrentを共有する2つの異なるエンティティを作成する必要があり、すべてのプロパティを定義するAbstractVoteを、言います。

this answerを参照してください。このような構造の例が含まれています。