rails列由多列组成
我有预算表与emptype_id和calendar_id actual_head,estimated_head
当我做Budgets.sum(:actual_head ,:group=>"emptype_id,calendar_id")
我没有得到按上述两列分组的结果,但只有emptype_id
但是,当我检查日志时,sql查询是正确的
SELECT sum(`budgets`.actual_head) AS sum_actual_head, emptype_id,calendar_id AS emptype_id_calendar_id FROM `budgets` GROUP BY emptype_id,calendar_id
有103行
我想迭代每个emptype_id和calendar_id来获得actual_head的总和并对其进行一些计算。
rails不支持使用多列进行分组。 你必须使用常规查找全部:
budgets = Budgets.find(:all, :select => "emptype_id, calendar_id, sum(budgets.actual_head) AS sum_actual_head", :group => "emptype_id, calendar_id") budgets.each { |budget| puts budget.sum_actual_head }
我作弊。 Do :group => ["emptype_id,calendar_id"].
不想要你,也不想要,但这至少有用。
我不确定,请尝试:group => [:emptype_id, :calendar_id]