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

また、データベース内の 1 つのレコードを 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 に答える