我正在尝试查询所有1-2天前过生日的用户,今天和1-2天后过生日的用户。
有没有可能用纯rails的方式,而不用编写特定于DB的SQL查询?
用户模型很简单: user_id、name、道布
here有一个很好的解决方案,但它并不完全是我需要的。
发布于 2010-11-11 17:35:59
User.where(:dob => 2.days.ago .. 2.days.from_now)将产生一个WHERE dob BETWEEN 2_days_ago AND 2_days_from_now
发布于 2022-01-30 07:32:40
如果你要找到今天过生日的人,那么下面的将会起作用(PG)
where("date_part('month', users.dob) = ? and date_part('day', users.dob) = ?", Date.current.month, Date.current.day)v发布于 2011-08-17 21:09:27
我有一个解决方案。也许它并不优雅,但它对我来说很有效:
@users=User.all
<% @users.each do |u| %>
<% if u.dob+(Date.today.year-u.dob.year).years >= Date.yesterday && u.dob+(Date.today.year-u.dob.year).years <= Date.tomorrow %>
<%= u.name %>
<%end%>
<%end%>https://stackoverflow.com/questions/4152861
复制相似问题