首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails3中如何选择今天过生日的用户

在Rails3中如何选择今天过生日的用户
EN

Stack Overflow用户
提问于 2010-11-11 17:19:02
回答 3查看 1.7K关注 0票数 2

我正在尝试查询所有1-2天前过生日的用户,今天和1-2天后过生日的用户。

有没有可能用纯rails的方式,而不用编写特定于DB的SQL查询?

用户模型很简单: user_id、name、道布

here有一个很好的解决方案,但它并不完全是我需要的。

EN

回答 3

Stack Overflow用户

发布于 2010-11-11 17:35:59

代码语言:javascript
复制
User.where(:dob => 2.days.ago .. 2.days.from_now)

将产生一个WHERE dob BETWEEN 2_days_ago AND 2_days_from_now

票数 6
EN

Stack Overflow用户

发布于 2022-01-30 07:32:40

如果你要找到今天过生日的人,那么下面的将会起作用(PG)

代码语言:javascript
复制
where("date_part('month', users.dob) = ? and date_part('day', users.dob) = ?", Date.current.month, Date.current.day)v
票数 0
EN

Stack Overflow用户

发布于 2011-08-17 21:09:27

我有一个解决方案。也许它并不优雅,但它对我来说很有效:

代码语言:javascript
复制
@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%>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4152861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档