在活动记录中检索为模型

时间:2016-06-01 16:29:36

标签: sql ruby-on-rails activerecord model

是否可以在不使用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...]

1 个答案:

答案 0 :(得分:1)

试一试

Foo.joins(:bars).merge(Foo.first.bars).uniq