Rails / SQL:到哈希表的多关联SQL查询

时间:2018-07-03 11:21:03

标签: sql ruby-on-rails activerecord associations

这是我的模型设置:

  • Book:一本书
  • List:《纽约时报》认为,这是畅销书“品牌” 畅销书。列表可以是featured(布尔列)。
  • ListEdition:此类畅销书的年度版本;即为 给定List,将有2016、2017、2018,...个版本(存储在 year列)
  • BookRank:将BooksListEditions连接起来,并存储rank_worldrank_europe(两者均为整数,后者表示相对于其他{{1 }}(来自欧洲)

Books

(即使从我在此处发布的内容中看不出来,也有理由为什么class Book < ActiveRecord::Base has_many :book_ranks, dependent: :destroy end class List < ActiveRecord::Base has_many :list_editions, dependent: :destroy end class ListEdition < ActiveRecord::Base belongs_to :list has_many :book_ranks, dependent: :destroy end class BookRank < ActiveRecord::Base belongs_to :book belongs_to :list_edition has_one :list, through: :list_edition end List是两个单独的模型。)

我要获取的是一个表格(哈希表),其中包含分别包含在最新的特色列表ListEditions中的所有书籍,以及每个ListEdition中各自的rank_world和rank_europe。

最新的内容取决于ListEdition,因为它们具有不同的发布周期。例如。我可能有一个列表的2018 List,但另一个列表的2017 ListEdition,通过查询,我想在两个{{1} }。

关于如何进行此类查询的任何想法?

我意识到这将是一个相当复杂的数据库查询。第一步,只是列出所有ListEdition的列表。

谢谢!

0 个答案:

没有答案