我有三种模特在这里工作:用户,交易和投资。
用户有很多优惠 用户有很多投资
交易属于用户 交易有很多投资
投资属于交易 投资属于用户
我想查找来自用户的所有投资,其中deal.deal_type_id = 3用于该投资。
答案 0 :(得分:2)
如果您已经设置了关联,那么非常简单。
# user.id = 1
User.find(1).deals.where(:deal_type_id => 3)
答案 1 :(得分:1)
如果您使用squeel gem,那么它会更加直观。
假设您已经检索了要查找投资的用户:
user.investments.joins{ deals }.where { deal.deal_type_id == 3 }
答案 2 :(得分:0)
就像@Stephen说的那样但是对于Active Record:
type = 3
user.investments.joins('deals').where('deals.deal_type_id == ?', type)