我的计划模型的开始时间为日期时间,持续时间以分钟为整数。
使用命名范围有一种方法可以获得(start_time + duration) < current_time
的记录吗?
答案 0 :(得分:2)
您可以使用SQL级别日期操作函数实现所要求的内容,例如mysql's DATE_ADD:
scope :not_over, where('DATE_ADD(start_time, INTERVAL duration MINUTE) > UTC_TIMESTAMP()')
虽然如果考虑性能,您可能需要预先计算'end_time'列并在其上添加索引。