我在这里使用三个模型:用户、交易和投资。
用户有很多交易 用户有很多投资
交易属于用户 交易有很多投资
投资属于交易投资属于用户
我想从该投资的 deal.deal_type_id = 3 的用户那里找到所有投资。
我在这里使用三个模型:用户、交易和投资。
用户有很多交易 用户有很多投资
交易属于用户 交易有很多投资
投资属于交易投资属于用户
我想从该投资的 deal.deal_type_id = 3 的用户那里找到所有投资。
如果您已设置关联,则非常简单。
# user.id = 1
User.find(1).deals.where(:deal_type_id => 3)
如果您使用squeel gem,那么它会更加直观。
假设您已经检索到要为其寻找投资的用户:
user.investments.joins{ deals }.where { deal.deal_type_id == 3 }
就像@Stephen 所说,但对于 Active Record:
type = 3
user.investments.joins('deals').where('deals.deal_type_id == ?', type)