私は次のエンティティを持っています。
- ユーザー
- イベント
- 費用
- ゲスト
ユーザーとは、私のサイトに登録されている人です。イベントは、特定のユーザーが作成して、他のユーザーに招待できるものです。費用は、特定のイベントのために特定のユーザーによって作成され、イベントの他のユーザー/ゲストに関連付けることができます (ユーザー A がユーザー B、ユーザー C、およびゲスト D のために何かを購入したように)。ゲストも特定のイベントのために特定のユーザーによって作成されますが、イベントのために作成されると、そのイベントに関連付けられた他のユーザーがゲストを見ることができます。ゲストが実際にシステムにログインすることはありません。これは、イベントに参加した可能性があるが、サイトに登録されていない人々の単なるプレースホルダーです。
これらのエンティティのhas_many
および属性に頭を悩ませようとしています。belongs_to
私の多対多の関係テーブルとほぼ同じように、人 (ユーザーまたはゲスト) の「タイプ」を識別する別の列が必要です。これにより、適切に結合してユーザー テーブルとゲスト テーブルから名前などを適切に取得できます。
レコードがゲストであるかどうかを示すフラグを users テーブルに作成することを考えました (したがって、そのゲストがサイトに登録したり、ログインしたりする必要はありません) が、あまりクリーンではないようです。
どんな考えでも大歓迎です。
ありがとう!
トーマス