ActiveRecord:从has_many关系中查找数据

时间:2014-06-03 21:57:35

标签: ruby ruby-on-rails-3

我正在尝试使用activerecord查找rails中具有has_many关系的记录。我正在努力解决这个问题,但这是我想要找到的:

has_many :var, :through => :line

上面的代码行包含在模型中。我想返回具有某个与之关联的var的记录。因此,例如,如果:var = 1234,我想返回与之关联的所有记录。

2 个答案:

答案 0 :(得分:1)

假设您的主要类名为Orderline是Order的belongs_to关系,vars是Line的has_many关系,您正在搜索Var id

Order.joins(line: :vars).where('"vars"."id" = ?', 1234).uniq

答案 1 :(得分:0)

根据你的评论,我相信你需要这样的东西

Order.where(:var => 1234)

或者如果你喜欢普通的sql

Order.where('var = 1234')

Activerecord有很多关于此的文档,例如here