0

このようなコード行があります

    @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")

もっとレール/アクティブなレコードの方法で書きたいと思いますが、構文はまだかなり新しいです。

各作品には多くの単語があり、各単語は1つの作品に属しています。

4

1 に答える 1

0

たぶん、このコードはあなたのために働くでしょう:

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

このincludesメソッドは、作業テーブルとの結合を作成します。where方法は条件のためのもので、自明limitでありcountgroup欄にもあります。

于 2012-09-12T14:09:02.410 に答える