我有 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
这将返回具有 2 列的文章:category_id 和 total。
我的问题是总列是一个字符串。所以问题是:有没有一种方法可以将该列作为整数获取?
PS:我试图在数据库中为 COUNT(*) 做一个演员,但这没有帮助。我尽量避免做这样的事情:
articles = Article.count_articles_per_category
articles.map do |article|
article.total = article.total.to_i
article
end