0
我們建立在我們的控制器一些對象:如何延遲加載或急切加載關聯表的總和?
@sites = Site.find(:all, :conditions => conditions, :order => 'group_id ASC')
然後在視圖(目前),我們正在做的事情,如:
@sites.each do |site|
%p Site Name
= site.name
- actual = site.estimates.where('date<?', Date.today).sum(:actual_cost)
%p
= actual
end
基本上這樣。
當然,這會觸發對網站的查詢,然後返回N個網站的查詢。我知道關於@sites = Site.find(:all,:include =>:estimated)的急切加載關聯,但在這種情況下,它並不重要,因爲我們在查詢上執行了SUM,看起來很特殊。
我該如何加載SUM以避免所有瘋狂的查詢?目前它已超過600 ...