Kor*_*oys 2 ruby activerecord ruby-on-rails
是否有更多的ActiveRecord惯用方法来查找哪些记录具有start_at或end_at在某个date_range内?(基本上,需要找到在给定时间范围内开始或结束的记录).这是我目前正在做的事情:
Project.where('(start_at >= ? AND start_at <= ?) OR (end_at >= ? AND end_at <= ?)', start_at, end_at, start_at, end_at)
Run Code Online (Sandbox Code Playgroud)
您可以将范围传递给where并使用or:
time_range = (start_at..end_at)
Project.where(start_at: time_range).or(Project.where(end_at: time_range))
Run Code Online (Sandbox Code Playgroud)