Rails 3:如何总结记录

Cyb*_*ber 5 ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我有模型注册表,基于部门和组来标记用户的出席.每个用户都有一个部门和组.

注册模型

date:date , departmentid:string , groupid:integer , one:integer , two:integer
Run Code Online (Sandbox Code Playgroud)

在上述字段中,"一个和两个"是时间段(例如:从9-14,14-18).Artndance被标记为用户属于当前日期,groupid,departmentid.So同一天将有多个条目groupid,departmentid和他们的出席.

样本注册表如下

在此输入图像描述

我想找不到.每天注意的用户数.目前我已经尝试过

@register = Register.where(:date=>"2012-12-28").sum(:one)
Run Code Online (Sandbox Code Playgroud)

它变得很好,但我想找到像,

@register = Register.where(:date=>"2012-12-28").sum(:one , :two ,:three)
Run Code Online (Sandbox Code Playgroud)

可能吗....

提前致谢.

sys*_*tho 2

这个怎么样 ?

class Register < AR:Base

...

  def self.attendee_count(slot) # slot is :one or :two
    scoped.group(:date ).sum(slot)
  end

end

Register.where(:date => Date.today).attendee_count(:one)
Register.where(:date => Date.today, :departmentid => "DP14").attendee_count(:two)
Run Code Online (Sandbox Code Playgroud)