我想在接下来的两周内找到所有生日用户.
我尝试了以下方法:
User.find(:all, :conditions => ["DOB > ? and DOB <= ?", Date.today, 2.weeks.from_now])
这显然不起作用,因为DOB中的“年份”不等于今年.
我只需要比较几个月和几天.
我该怎么做呢?
最佳答案 你必须在你的dob列上执行mysql方法
跟随之类的事情
SELECT FROM users
WHERE DAYOFYEAR(dob)in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
您可以使用像WEEK这样的函数,以适用于您的Ref this for mysql函数
在ruby
arr=[]
(0..13).each{|i| arr << (Date.today+i.day).day }
User.find(:all, :conditions => ["DAYOFYEAR(DOB) in (?)", arr])