私はこのように関連する2つのモデルのカテゴリと記事を持っています:
class Category < ActiveRecord::Base
has_many :articles
end
class Article < ActiveRecord::Base
belongs_to :category
def self.count_articles_per_category
select('category_id, COUNT(*) AS total').group(:category_id)
end
end
私はこのようにcount_articles_per_categoryにアクセスしています
Article.count_articles_per_category
これは、category_idとtotalの2つの列を持つ記事を返します。
私の問題は、合計列が文字列であるということです。したがって、問題は、その列を整数としてフェッチする方法はありますか?
PS:COUNT(*)のデータベースでキャストを実行しようとしましたが、それは役に立ちません。私はこのようなことをしないようにしています:
articles = Article.count_articles_per_category
articles.map do |article|
article.total = article.total.to_i
article
end