簡體   English   中英

輸出模型的多個實例的屬性的加法

[英]Output of an Addition of Attributes of multiple instances of a model

我的基本設置:
我有一個與工作日模型具有has_many / belongs_to關系的用戶模型。
工作日模型具有稱為“銷售”和“日期”的屬性。

我想做的是在給定的時間范圍內累加不同工作日實例的銷售屬性。 我首先嘗試首先匯總該用戶的所有銷售額,從而獲得了

NoMethodError: undefined method `sales' for nil:NilClass

代碼如下:

def all_sales
  s = 0.to_f
  c = @user.workdays.count
  for i in (0..c)
    s += @user.workdays[i].sales
  end
end

最優雅的方式是什么?

編輯1:錯字,它是user.workdays [I]。銷售 ,不.Count之間 對於那個很抱歉。

可以通過Arel完成

@user.workdays.sum(:sales)

您也可以查詢特定的時間間隔

@user.workdays.where("date BETWEEN ? AND ?",start_date, end_date).sum(:sales)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM