通过关联过滤 - 缺少表的FROM子句条目

时间:2015-11-03 04:41:55

标签: ruby-on-rails ruby ruby-on-rails-4

我有2个型号:

class Model1 < ActiveRecord::Base
  belongs_to :model2
  # fields f1
end


class Model2 < ActiveRecord::Base
  has_many :model1
  # fields f2
end

如何通过f1 ==过滤所有Model1?和模型2由f2 ==?通过他们的协会?我试过这个:

Model1.where(f1: my_f1).where('model2.f2 > ?', my_f2)

但收到了错误:

 PG::UndefinedTable: ERROR:  missing FROM-clause entry for table "model2"

1 个答案:

答案 0 :(得分:1)

Model1.joins(:model2).where('model1.f1 = ? AND model2.f2 = ?', my_f1, my_f2)