ruby-on-rails - 如何使用 Rails 4 + PostgreSQL 查询关联记录列表?

标签 ruby-on-rails ruby postgresql ruby-on-rails-4 activerecord

我有以下型号:

Question.rb
  has_many :answers
end

class Answer.rb
  belongs_to :question
end

我想要做的是获取最近的 10 个答案,并显示“最近回答的问题”列表

如果我查询 Answer.last(10),它提供了答案,如何以某种方式将最近的答案转换为我可以呈现的 @questions 列表?

最佳答案

show a list of "Recently Answered Questions"

您从错误的角度接近它,您应该查询questions表:

@questions = Question.joins(:answers)
                     .group('questions.id, answers.created_at')
                     .order('answers.created_at DESC')
                     .limit(10)

这将触发单个数据库查询,并立即返回您最近的 10 个问题及其答案

关于ruby-on-rails - 如何使用 Rails 4 + PostgreSQL 查询关联记录列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41670579/

相关文章:

ruby-on-rails - 如何避免在简单的登陆注册表单中被其他人覆盖 hstore 记录?

mysql - 存储大量日志数据的最佳方式

ruby-on-rails - 如何从 Rails 中的 ActiveRecord 数组中提取 "table"?

javascript - Textmate 中 js.erb 文件更好的语法突出显示

ruby - 把这个 haml 片段变成一个帮助器来干燥 Sinatra

ruby-on-rails - 如何为模型/ View / Controller 以外的文件编写/运行规范

ruby-on-rails - 如何为多态关联添加过滤器?

postgresql - 如何选择带左外连接的最小 UUID?

ruby-on-rails - 如何使用 rake 为特定插件生成 rDoc

ruby-on-rails - 我什么时候应该在 ruby​​/rails 中使用 DateTime 与日期、时间字段?