我的应用程序中有2个模型。假设ModelA(id,attributeA1,attributeA2)和ModelB(id,attributeB1,attributeB2)。现在,我想运行一个自定义查询:
select attributeA1, attributeA2, attributeB2 from ModelA inner join ModelB on ModelA.id == ModelB.id
最终结果是我想要一个数组。每个元素都是具有以下键的地图:attributeA1,:attributeA2,:attributeB2。
答案 0 :(得分:1)
您可以在ActiveRecord文档中找到示例 https://guides.rubyonrails.org/active_record_querying.html#retrieving-filtered-data-from-multiple-tables
答案 1 :(得分:0)
答案如下。
connection = ActiveRecord::Base.connection
res = connection.exec_query(%Q(
select attributeA1, attributeA2, attributeB2
from ModelA inner join ModelB
on ModelA.id == ModelB.id
))
然后可以通过res.rows
和res.columns