0
我有2個型號User
和Order
。我需要生成一個圖表,它將檢索數組中的月度餘額。在我的Order
表中,我有earnings
和costs
。以下是我想出了一些遠:N + 1查詢問題
user.rb
class User < ActiveRecord::Base
def baltime(time) #This will return balance based on time
orders.where("created_at < ?", time).map(&:earning).compact.inject(:+).to_f -
orders.live.where("created_at < ?", time).map(&:costs).compact.inject(:+).to_f
end
def group_by_months
result = []
forteenmonths = 14.times.map { |i| (Date.today - (i).month)}.reverse
forteenmonths.each do |d|
result << self.baltime(d)
end
result #This will return an array of the order balances
end
地,上述方法的工作,但是,它會調用從數據庫中查詢14。有沒有更好的方法可以解決N + 1問題?在此先感謝