我有一个具有sale_date字段的销售表。我每个月都有一个start_date和end_date作为“销售月”,例如可以从6月25日开始到7月26日结束,而不仅仅是一个日历月。
我想找到两个日期之间(包括)的所有销售,但我无法弄明白。
user = User.last
user.sales.where( sale_date is within start_date...end_date )
答案 0 :(得分:2)
请试试这个
user = User.last
user.sales.where(sale_date: start_date..end_date )
它将在sql中复制为BETWEEN '#start_date' AND '#end_date'
如果您希望查询使用DATE并包含= check,则可以尝试此操作。
user.sales.where("DATE(sale_date) >= ? AND DATE(sale_date) <= ?", start_date, end_date )
答案 1 :(得分:0)
user.sales.where("sale_date >= ? AND sale_date <= ?", start_date, end_date )