【发布时间】:2016-11-08 02:17:01
【问题描述】:
我有一个项目表,在该表中,可能有多次同名的同一个项目,但是 created_at 月份会有所不同。我正在尝试选择表中每个项目的最新记录。使用 select 可以,但是我需要整个记录,这样我就可以遍历记录并打印出不同的属性,例如价格或其他属性。
我试过了:
Project.distinct(:project_name) – 打印所有记录(为了检查这一点,我复制了项目名称并进行了查找,所有具有相同名称的项目仍会打印出来)
Project.order(project_name: :asc, created_at: :desc).uniq(:project_name) – 结果与上面相同
Project.select(:project_name).distinct – 仅提取 1 个,但它仅选择项目名称,不选择记录中的其他数据。
【问题讨论】:
-
正确,
.select只抓取列出的字段名称。
标签: ruby-on-rails postgresql ruby-on-rails-4 activerecord