Rails中的sum, count,joins查询
访问量: 2524
挺好用。之前用的很少。
现在捡起来了,发现跟原生的SQL基本一个用法。都差不多。
照着例子做就可以了。 能大幅节省时间。
一个例子:
之前:
41 #amount = 0 42 #self.sales_checks.each do |sales_check| 43 # #sales_check.wins.each do |win| 44 # # begin 45 # # if win.award.present? && 46 # # !win.raw_payment_result.include?('频繁') && 47 # # !win.raw_payment_result.include?('限制') && 48 49 # # amount += win.award.bonus 50 # # end 51 # # rescue Exception => e 52 # # Rails.logger.error e 53 # # Rails.logger.error e.backtrace.join("\r\n") 54 # # end 55 # #end 56 #end 57 #amount
之后:
37 result = Fan.joins(:sales_checks).where('fans.id = ?', self.id).sum('sales_checks.award_amount') 38 return 0 if result.blank? 39 return result / 100