将sql查询转换为activerecord

时间:2012-09-12 13:14:22

标签: ruby-on-rails-3 activerecord

我有一行代码看起来像这样

    @words =  Word.connection.select_all("select text, count(*) as occurs from words join works on words.work_id = works.id where works.grouping == 'group1' group by text order by occurs desc limit 10")

我想用更多的rails / active记录方式编写它,但语法对我来说还是很新的。

每个作品都有很多单词,每个单词都属于一个作品。

1 个答案:

答案 0 :(得分:0)

也许这段代码适合你:

Word.includes(:works).where("works.grouping == 'group1'").limit(10).count(:group => :text)

includes方法使用您的工作表创建连接。 where方法适用于条件,limit是自解释性的,count也带有group的列。