我有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"
答案 0 :(得分:1)
Model1.joins(:model2).where('model1.f1 = ? AND model2.f2 = ?', my_f1, my_f2)