2013-12-13 105 views
1

我想寫一個範圍,它將從兩個模型中獲取數據,以前沒有這樣做過,所以看看是否有人能夠幫助我理論和實踐。範圍內的多個條件4

我的兩個模型等被定義所以

class Member < ActiveRecord::Base 
belongs_to :membership 
accepts_nested_attributes_for :membership 

attr_accessible :membership_id, :forename, :middlename, :surname, :house_no, :house_name, :street, :town, :postcode, :home_tel, :mobile_tel, :work_tel, :email, :start_date, :expiry_date 
end 

class Membership < ActiveRecord::Base 
has_many :members, :dependent => :destroy 
attr_accessible :membership_type, :cost 
end 

我想獲得所有誰今天紛紛加入整理總量£它已經產生

所以我可以執行一筆成員一個範圍或我將不得不編寫一個方法來獲取總數,然後在範圍內使用該方法?

class Member < ActiveRecord::Base 

scope :new_memberships_cash_today, ->() { 
where(:start_date => Date.today) 
} 

end 

這是據我已經這麼遠,不正確的,我知道。真的不知道如何構建休息,任何幫助讚賞

回答

2

我相信這樣的事情就足夠了:

joins(:memberships).where(:start_date => Date.today).sum('memberships.cost') 
+0

啊我看到了,謝謝,雖然我得到未定義的方法'to_key'作爲值存儲爲一個浮點數不是整數..任何想法? – Richlewis

+0

你使用什麼數據庫? MySQL,Postgres? –

+0

我正在使用MySQL – Richlewis