2

我有以下范围:

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 天的记录。

4

1 回答 1

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”条件,请参阅此答案

于 2012-12-12T16:43:14.230 回答