需要帮助构建rails查询

时间:2013-04-25 20:10:53

标签: ruby-on-rails ruby

我有三种模特在这里工作:用户,交易和投资。

用户有很多优惠 用户有很多投资

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

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

我想查找来自用户的所有投资,其中deal.deal_type_id = 3用于该投资。

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)