我正在尝试减少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?如果没有,我是否需要使用join或sql语句。任何帮助表示赞赏。
答案 0 :(得分: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
这是你在找什么?