我有以下范围:
def coming_up_on_renewal(product_name = "product_name")
where('billing_start_date = NOW() + INTERVAL 3 day AND status = ? AND product_name = ? AND auth_net_subscription_id IS NOT NULL', :active, "#{product_name}")
end
我将数据库中的单个记录操作为将来3天,但是当我运行此范围时,会返回一个空数组。
我基本上是在尝试检索billing_start_date
距离当天3天的记录。
答案 0 :(得分:4)
试试这个。
def coming_up_on_renewal(product_name)
where(:status => :active, :product_name => product_name)
.where(:billing_start_date =>
(3.days.from_now.beginning_of_day)..(3.days.from_now.end_of_day))
.where('auth_net_subscription_id IS NOT NULL')
end
对于您的其他“IS NOT NULL”条件,请参阅this answer。