查找属于当月(或其他月份)的条目

Dav*_*d C 0 ruby activerecord ruby-on-rails

我有一个模型(费用),其中包含"成本"等字段.

我想迭代我的所有费用,找到属于特定月份的所有条目的总和.

有没有办法直接在rails中做到这一点?

Expense.find(:all,:conditions => .....)

Har*_*tty 5

要获得给定日期月份的成本总和:

  # 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选项将结果集限制为日期范围.