0
私は予約アプリケーションを構築しており、モデルの設計方法に関するアドバイスが必要です。 私は現在、このように設計された予約と表モデルがあります:多対多関係のデザインテーブル
class Table < ApplicationRecord
belongs_to :restaurant
has_many :reservations
end
class Reservation < ApplicationRecord
belongs_to :table
belongs_to :restaurant
end
は、しかし、多くの場合、レストランでは、いくつかのテーブルの1つの予約をする必要がある - 2つのテーブルを一緒にし、両方の接合された10人のグループのためにそれらのうちのいくつかは、所定の時間に利用可能であってはならない。この場合、私は2つのオプションがあります:
- を2つのテーブルのための2つの同一の予約を作成します(簡単ですが、必要な10個のテーブルを持つイベントがあるかもしれないとして、不必要なようです)
- 新モデルReservationTableや変更を作成します。モデルへ:あなたは長期的でより良い(との場合だと思いますか選択肢
class Table < ApplicationRecord belongs_to :restaurant has_many :reservation_tables has_many :reservations, through: :reservation_tables end class Reservation < ApplicationRecord belongs_to :restaurant has_many :reservation_tables has_many :tables, through: :reservation_tables end class ReservationTable < ApplicationRecord belongs_to :reservation belongs_to :table end
econd、正確なデザインですか?)
ありがとうございました!