检查Rails中是否有两个日期范围重叠

时间:2011-11-15 21:00:59

标签: ruby-on-rails ruby-on-rails-3

活动包含start_atend_at字段

如何仅使用数据库查询检查两个事件之间是否有重叠?

换句话说,就像是

(Event1.start_at BETWEEN Event2.start_at AND Event2.end_at) OR (Event1.end_at BETWEEN Event2.start_at AND Event2.end_at)

可以使用.where函数吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您使用的是MySQL,它还有BETWEEN ... AND(这只是(min< = expr AND expr< = max)的快捷方式)。