Ruby on rails 如何从没有任何关联的2个ActiveRecord模型中获取结果

Ruby on rails 如何从没有任何关联的2个ActiveRecord模型中获取结果,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我在ActiveRecord中有两个模型,比如A和B,它们都有item_id字段,这是两个模型中的主键 但是,它们之间没有联系(有很多,属于等等) A:项目id、属性1、属性2 B:项目id、属性3、属性4 现在,我需要从A和B中获取涉及attr_1..attr_4的某个子句的数据 SQL:从A、B中选择A.item\u id、attr\u 1、attr\u 2、attr\u 3、attr\u 4,其中A.item\u id=B.item\u id和attr\u 1=“foo”和attr\u 3

我在ActiveRecord中有两个模型,比如A和B,它们都有item_id字段,这是两个模型中的主键

但是,它们之间没有联系(有很多,属于等等)

A:项目id、属性1、属性2

B:项目id、属性3、属性4

现在,我需要从A和B中获取涉及attr_1..attr_4的某个子句的数据

SQL:从A、B中选择A.item\u id、attr\u 1、attr\u 2、attr\u 3、attr\u 4,其中A.item\u id=B.item\u id和attr\u 1=“foo”和attr\u 3=“bar”

我现在考虑的选项是,A和B都将查询分解(表、子句、字段等)返回给控制器,并让控制器创建如上所述的查询。 然后使用 ActiveRecord::Base.connection.execute(查询)

PS:不想从第一个模型中得到结果,迭代它并从第二个模型中得到结果。将导致太多的数据库查询。另外,不希望合并这两个表,因为它们包含不相关的数据

有更好的建议吗?

类似加入的建议吗

A.joins('JOIN bs ON bs.item_id = as.item_id AND as.attr_1="foo" AND bs.attr_3="bar"').select("as.attr_1, as.attr_2, bs.attr_3, bs.attr_4")
这是未经测试的,但一些相近的东西也应该起作用