用户可以创建多天事件。
因此,一个事件可以有多个日期,包括日期的开始时间和结束时间。
所以一个事件可能有这些日期:
2013 年 7 月 1 日上午 9:00 - 下午 5:00 2013 年 7 月 2 日上午 10:00 - 下午 6:00 2013 年 7 月 7 日下午 1:00 - 下午 5:30
因此,事件表将存储事件 ID、事件名称、事件类型、事件举行地点的地址字段等。但是如何为事件的多个日期建模?我可以有一个单独的 event_dates 表,并且该表对于每个事件都有多行:
id event_date event_start_time event_end_time event1 2013 年 7 月 1 日上午 9:00 下午 5:00 event1 2013 年 7 月 2 日上午 10:00 下午 6:00 event1 2013 年 7 月 7 日下午 1:00 下午 5:30
但我也想查询一天发生的事件(不考虑时间),这样用户就可以在他们的区域中找到特定日期发生的事件(他们当天可能会访问多个事件)。
那么我将如何建模呢?我会使用 has_and_belongs_to_many,其中一个事件有多个日期,一个日期有多个事件?
在视图中,保存事件时,我想我需要将事件数据保存到事件表中,同时将日期/时间组合保存到另一个表中。但是要将日期/时间组合保存到另一个表,我需要刚刚保存的事件的 id。因此,在一种形式中,我有一个依赖项,即第一次保存必须成功(保存事件),才能进行第二次保存(使用新事件 ID 保存日期/时间)。
提前感谢您的帮助。