我在 ActiveRecord 中有 2 个模型,比如 A 和 B,并且都有 item_id 字段,这是两个模型中的主键。
但是,它们之间没有关联(has_many、belongs_to 等)
答:item_id、attr_1、attr_2
B: item_id, attr_3, attr_4
现在,我需要从 A 和 B 获取一些涉及 attr_1 ..attr_4 的子句的数据
SQL: select A.item_id, attr_1, attr_2, attr_3, attr_4 from A, B where A.item_id=B.item_id and attr_1="foo" and attr_3="bar"
我现在正在考虑的选项是,A 和 B 都将查询分解(表、子句、字段等)返回给控制器,并让控制器像上面一样创建查询。然后使用 ActiveRecord::Base.connection.execute(query) 执行查询
PS:不想从第一个模型中获取结果,对其进行迭代并从第二个模型中获取结果。会导致过多的db查询。此外,不要合并两个表,因为它们包含不相关的数据。
有更好的建议吗?