2012-05-11 76 views
1

我想減少我的Rails 3應用程序中的數據庫查詢的數量。急於加載Rails 3應用程序

用戶模式:

has_many :agreements 

協議模型:

belongs_to :user 

的協議表有兩個用戶ID字段... payer_id和payee_id。是否有可能做出如下工作:

user_payer_agreements = current_user.agreements 
user_payee_agreements = current_user.agreements 

我可以使用user_id作爲事務的一方,但我需要獲得雙方。是否可以在創建關聯的過程中指定payer_id或payee_id而不是user_id?如果沒有,我需要使用連接還是sql語句。任何幫助表示讚賞。

回答

2

你可以這樣做:

has_many :payer_agreements, :class_name => 'Agreement', :foreign_key => :payer_id 
has_many :payee_agreements, :class_name => 'Agreement', :foreign_key => :payee_id 

有了這個,你可以這樣做:

current_user.payer_agreements 
current_user.payee_agreements 

這是你在找什麼?

+0

完美。謝謝。 – Jay