我的简化 Rails 应用程序看起来像这样
# chapter.rb
has_many :sections
has_many :videos, through: :sections
# section.rb
belongs_to :chapter
has_many :videos
# video.rb
belongs_to :section
has_many :votes
# vote.rb
belongs_to :video
我想要做的是找到给定章节当前最流行的 5 个视频,这意味着按照上个月收到的投票数对视频进行排序(显然限制为 5 个结果)。
我想popular_videos
在我的章节模型中编写一个方法,我认为这需要一个find_by_sql
查询,对吧?但我不知道足够的 sql 来编写这个查询。
投票表有一created_at
列,我正在为我的数据库使用 postgres。任何帮助是极大的赞赏。