2012-01-29 16 views
0

何か:DELETERをDoctrine2にクラスエイリアスはありませんか?このような

+0

なぜクラスエイリアスを定義する必要がありますか?ユーザーを直接参照しても問題ありません。 – Ocramius

+0

@Ocramiusエンティティジェネレータは、2つのエンティティ間に複数の関係があるときに混乱するため、 – DavidW

+0

エンティティジェネレータを複数回使用しないでください。意味がなく、混乱が生じます。現像。エンティティ生成は、クイックスタートのガイドラインとしてのみ使用されることを意図しています。その後、あなただけのコードを書く必要があります。逆は間違っていますが、マッピングはエンティティに従う必要があります。 – Ocramius

答えて

1

だからあなたはDeletersユーザーになりたいユーザーとして:私たちはクラスのユーザーへの2体の関係を持っている上、我々はtargetEntityような何かをすることができれば

user: 
    targetEntity: User 
    inversedBy: posts 
    joinColumn: 
    name: user_id 
    referencedColumnName: id 
deleter: 
    targetEntity: User 
    joinColumn: 
    name: deleter_id 
    referencedColumnName: id 

、私は不思議でしたか?その場合はSingle Table Inheritanceに行くかもしれません。弁別子列を追加するだけで済みます。

ユーザがアプリケーション内に持つ可能性のあるロールをモデリングするもう1つの一般的なアプローチは、user_typeテーブルなどを持つことです。次に、各Userが持つ多対多のリストを定義します。多くの場合、これらは特権に結び付けられており、上記の役割の間に階層関係を確立する必要がありますが、これは総括的な一般化です。

+0

あなたの返事に感謝します。私の問題はわずかに異なります。エンティティジェネレータ(symfony2)に関連エンティティの名前を認識させるだけでした。 "deleter"では間違ったセッター/ゲッターを作成するので、エイリアシングがこの問題を解決すると思っていましたが、Entity Generatorのバグかもしれません。 – DavidW

+0

ええと、私はsf2でEntity Generatorやymlアプローチを使用していません。私はすべてのエンティティを手作業でコーディングし、プロジェクトで注釈を使用しました。おそらく、メーリングリストやIRCのsf2に連絡して、答えを見つけたらお知らせください。申し訳ありませんが、私は助けにはならなかった。 – quickshiftin

関連する問題