通过Rails中的四个模型进行查询

时间:2018-02-20 16:47:45

标签: ruby-on-rails ruby ruby-on-rails-5

我的关系设置如下:

Project has_many个文件

Document has_one content_body

ContentBody has_many审核

我需要按降序检索只有项目ID的Audits。

1 个答案:

答案 0 :(得分:2)

假设

class Audit
  belongs_to :content_body
end
class ContentBody
  belongs_to :document
end
class Document
  belongs_to :project
end 

然后

@audits = Audit.joins(content_body: { document: :project })
            .where(projects: {id: some_id })
            .order(created_at: :desc) 

@audits = Audit.joins(content_body: :document)
            .where(documents: {project_id: some_id })
            .order(created_at: :desc)  

应该做的伎俩。至于订单,你没有指定完全降序的列应该基于什么,所以我假设created_at