0

私はモデルを持っています

class Article < ActiveRecord::Base
  belongs_to :category
end

class Category < ActiveRecord::Base
  has_one :article
end

コントローラーで、すべてのカテゴリ名を取得しています

@categories = Category.order('name')

すべてのカテゴリを取得して、最も使用されている数で並べ替えるにはどうすればよいですか?

4

1 に答える 1

1

has_one :articleに変更する必要があると思いますhas_many :articles

だから私のバージョン:

Category.joins(:articles)
        .select("categories.*, count(articles.id) as counter")
        .order("counter")
于 2012-04-13T00:01:15.397 に答える