を設計する上で苦労してる
、各部屋があり、多くのroom_skus、多くの実際の部屋を同じ部屋タイプに属することができます。
しかし、私は可用性を実装する考えはありません。
私が考えることは、新しいモデルRoomAvailablityを追加することです。
ユーザーブックの場合シングルルーム:2016年4月13日
へ2016年4月11日から(room_number 413)私はテーブルの上に3つのレコードRoomAvailablity
- {room_sku_idを作成します。 413、occupied_date:2016年4月11日}
- {room_sku_id:413、occupied_date:2016年4月12日}
- {room_sku_id:413、occupied_date:2016年4月13日}
その後、2016年4月14日
に2016年4月12日から、私はその後、count > 0
もしcount = RoomAvailablity.where(room_number:413, occupied_date >= 2016-04-12 and occupied_date <= 2016-04-14)
、部屋のようなクエリを行いますその期間中は利用できません。
私の考えを改善するための推奨はありますか?
ルーム
HAS_MANY RoomSku
id: integer
name:string
type:string (Double, Single, Triple)
description:string
RoomSku
belong_to: Room
HAS_MANY: RoomAvailablity
id: integer
name:string
あなたが近くにいるRoomAvailablity
belong_to: RoomSku
occupied_date: date
room_sku_id: integer