【发布时间】:2016-06-01 16:29:36
【问题描述】:
是否可以在不使用Base.connection.execute 的情况下获取任意查询的结果并将它们转换为任何ActiveRecord::Base 模型?
例如,给定这些模型:
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...]?
【问题讨论】:
-
澄清一下,您想返回与第一个
foo关联的bars关联的所有foos? -
正确,但这只是一个示例场景。关键是我想使用 Foo 对象,而不是 Bar 对象。
标签: sql ruby-on-rails activerecord model