0

我在这里使用三个模型:用户、交易和投资。

用户有很多交易 用户有很多投资

交易属于用户 交易有很多投资

投资属于交易投资属于用户

我想从该投资的 deal.deal_type_id = 3 的用户那里找到所有投资。

4

3 回答 3

2

如果您已设置关联,则非常简单。

  # user.id = 1
  User.find(1).deals.where(:deal_type_id => 3)      
于 2013-04-25T20:18:08.480 回答
1

如果您使用squeel gem,那么它会更加直观。

假设您已经检索到要为其寻找投资的用户:

user.investments.joins{ deals }.where { deal.deal_type_id == 3 }
于 2013-04-25T20:18:40.210 回答
0

就像@Stephen 所说,但对于 Active Record:

type = 3
user.investments.joins('deals').where('deals.deal_type_id == ?', type)
于 2013-04-25T20:42:53.197 回答