在我的 Rails 3 应用程序中,我试图通过学校名称和与当年相关的毕业日期来查找当前学生。我可以成功找到没有毕业日期的用户(见下文),但我想搜索毕业日期属性小于或大于当年的用户。仅供引用,我正在使用 PostgreSQL。
我使用的字段设置如下:
t.string :high_school
t.date :hs_grad_year
这是我目前正在研究的发现:
<%= pluralize(Profile.where(:high_school => "#{@highschool.name}").where("hs_grad_year IS NOT NULL").count, "person") %>
最佳答案
您的代码有几个问题(从数据库中获取记录应该在 Controller 中完成,而不是在 View 中完成,并且您使用高中名称作为外键而不是 id
字段,例如),但要回答您的问题:
Profile.where %'
high_school = ? AND
EXTRACT(year FROM hs_grad_year) < EXTRACT(year FROM current_date)
',
@highschool.name
关于t.date 属性小于当前年份的 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8886299/