Dav*_*d C 0 ruby activerecord ruby-on-rails
我有一个模型(费用),其中包含"成本"等字段.
我想迭代我的所有费用,找到属于特定月份的所有条目的总和.
有没有办法直接在rails中做到这一点?
Expense.find(:all,:conditions => .....)
要获得给定日期月份的成本总和:
# date = any day of the month of intrest
Expense.sum(:cost, :conditions => {:created_at =>
(date.beginning_of_month..date.end_of_month)})
Run Code Online (Sandbox Code Playgroud)
要获得所有月份的成本总和:
Expense.sum(:cost,
:group => "EXTRACT(YEAR_MONTH FROM created_at)").each do |y_m, cost_sum|
p "#{y_m}-#{cost_sum}"
end
Run Code Online (Sandbox Code Playgroud)
在上面的调用中,使用conditions选项将结果集限制为日期范围.