5

我有模型寄存器,它根据部门和组标记用户的出勤情况。每个用户都有一个部门和组。

注册模型

date:date , departmentid:string , groupid:integer , one:integer , two:integer

上述字段中的“一和二”是时间段(例如:从 9-14 、 14-18 )。出勤被标记为用户属于当前日期、组 ID、部门 ID。所以同一天会有多个条目groupid,departmentid 和他们的出勤率。

下面的示例寄存器表

在此处输入图像描述

我想找没有。每天关注的用户数。目前我已经尝试过

@register = Register.where(:date=>"2012-12-28").sum(:one)

它正在好起来,但我想找到喜欢的,

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

可能吗....

提前致谢。

4

2 回答 2

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)
于 2012-12-21T09:34:54.780 回答
0

这行得通吗?

Department.group(:date).sum(:one, :two)

于 2012-12-21T06:55:23.490 回答