如何在日期之间编写Rails模型查询

时间:2014-08-20 18:07:04

标签: sql ruby-on-rails database ruby-on-rails-3 activerecord

这是我的sql查询我不会转换为rails模型查询

sql : SELECT "vouchers".* FROM "vouchers" WHERE "vouchers"."business_id" = 31 AND '2014-08-20'  between start_date and end_date; 

我尝试过的模型查询,但这不起作用请帮助我使其正常工作

Voucher.where(["#{Date.today} BETWEEN ? AND ?",:start_date,:end_date])

3 个答案:

答案 0 :(得分:2)

尝试以下格式:

data = ModelName.where("today >= from_date AND today <= to_date")

答案 1 :(得分:1)

假设start_date和end_date是列,请尝试此版本

Voucher.where("current_date between start_date and end_date").where(business_id: 31)

答案 2 :(得分:0)

Model.where("DATE(created_at) > :today AND DATE(promoted_till_date) < :two_weeks", today: Date.today, two_weeks: Date.today+14.days)