所以,我有一个Event
模型,其中包含一个starts_at
和一个ends_at
列,我想查找在一段日期范围内发生的事件。
我设计了这个named_scope
(range
通常是一个月):
named_scope :in_range, lambda { |range|
{:conditions => [
'starts_at BETWEEN ? AND ? OR ends_at BETWEEN ? AND ?',
range.first, range.last, range.first, range.last]} }
这个代码按预期工作。
但是,如果一个事件在范围之前的一个月开始,在范围之后的一个月结束,它将不会显示。有没有合适的方法来找到这些事件呢?