是否可以在不使用ActiveRecord::Base
的情况下获取任意查询的结果并将其投射到任何Base.connection.execute
模型?
例如,给定这些模型:
class Foo < ActiveRecord::Base
has_and_belongs_to_many :bars
end
class Bar < ActiveRecord::Base
has_and_belongs_to_many :foos
end
如果我们运行这样一个循环回来的查询,我们就会遇到Bar
个对象:
Foo.first
.bars.joins(:foos) # => ActiveRecord::Relation [Bar, Bar, Bar...]
如何进行查询以返回ActiveRecord::Relation [Foo, Foo, Foo...]
?
答案 0 :(得分:1)
试一试
Foo.joins(:bars).merge(Foo.first.bars).uniq