Rails加入并计算

时间:2017-05-26 03:17:31

标签: mysql ruby-on-rails ruby ruby-on-rails-4 activerecord

我对Rails(Rails 4)相对较新。 所以我有一个talent_mediatalent_id属性的表media_id

相同的media_id会多次出现。 Kanye(talent_id)可能会喜欢20首不同的歌曲(media_id),例如每首歌都在它自己的行中。 我还有一个Media表,其中包含各种行。 我需要根据talent_media行找到前100个media_id条目,并根据Media行将其与media.id表连接起来。所以本质上我在talent_media表格中获得最受欢迎的歌曲,然后加入它们以从Media表格返回实际的媒体信息。

我希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

您可以查询TalentMedia模型以获得结果..

@top_100 = TalentMedia.includes(:media).select(:media_id).order('count(talent_id) desc').group(:media_id).limit(100)

然后,您可以显示每个循环,例如,

@top_100.each do |topper|
  topper.media.name
end