我希望通过对模型上的方法进行分组来获得基于.count
的格式
我试过的是
Model.all.group(:age_at_x).count
和
Model.all.group_by { |v| v.age_at_x }.count
在模型中定义了age_at_x。我知道这会尝试使用方法对MySQL进行分组,但我似乎无法通过该方法实际分组?
def age_at_x
date = Time.new(2016, 6, 25)
dob = self.birth
date.year - dob.year - ((date.month > dob.month || (date.month == dob.month && date.day >= dob.day)) ? 0 : 1)
end
我正在考虑不同的年龄,看看每个年龄有多少 - 不是年龄。
此外,将来还要计算18岁以上和18岁以下。
答案 0 :(得分:0)
如果我理解你的问题,那么你正试图按年龄计算人数,试试:
Model.select(:birth).distinct.count