私の単純化されたレールアプリは次のようになります
# 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 つに制限されます)。
Chapter モデルにメソッドを書きたかったのですが、これにはクエリpopular_videos
が必要だと思いますよね? find_by_sql
しかし、このクエリを書くのに十分なSQLを知りません。
投票テーブルにはcreated_at
列があり、データベースに postgres を使用しています。どんな助けでも大歓迎です。