2016-09-13 16 views
0

この作業を行う方法を考えるのは難しいです。私は、2つのタイプのユーザ(アーティストとブックストア)を表すことができる汎用ユーザエンティティを持っています。今、アーティストと予約者の両方の情報を保持する予約リクエストがあります。同じフィールドに複数のマップがマッピングされたDoctrineマッピング

私は今では、これを持っている:

//Boooking request entity 

<many-to-one field="artist" target-entity="App\UserBundle\Entity\User" inversed-by="bookingRequestArtist"> 
    <join-column name="artist_id" referenced-column-name="id" /> 
</many-to-one> 
<many-to-one field="booker" target-entity="App\UserBundle\Entity\User" inversed-by="bookingRequestBooker"> 
    <join-column name="booker_id" referenced-column-name="id" /> 
</many-to-one> 

//Generic user entity 
<one-to-many field="bookingRequestArtist" target-entity="App\BookingBundle\Entity\BookingRequest" mapped-by="????" /> 

私は冗長になる私は、ユーザーと二つのフィールドの2種類を扱っていますので、それは要求フィールドを予約しているように、Userエンティティを整理する方法を思ったんだけど。同じ予約要求を共有する2種類のユーザで、$ user-> getBookigRequest()などが可能な構造を実現できますか?

答えて

0

あなたは単一のテーブル継承が必要なようです。複数のエンティティが必要ですが、1つのテーブルが必要です。 thisを確認してください。

+0

アーティストとブックのスーパークラスとして基本ユーザークラスを実装しようとしましたが、それはかなり複雑なレベルを追加しました。 Thx for suggest th th – 3ND

+0

@ 3NDそれが私があなたが必要とするものを達成するために考えることができる唯一の方法です。 :) – Filchev

関連する問題