1
我可以写这个查询其中涉及2个表,并给我的结果我想:ActiveRecord(Rails):如何在没有关联的Rails中进行自定义(SQL)连接?
select inv.* from
item_to_sku its
left join inventory inv on its.sku_id=inv.sku_id
where its.item_id in (12345, 67890)
我可以接近它在Rails的这个:
ItemToSku.includes(:sku => :inventory).find_all_by_item_id([12345, 67890])
但这毫无意义的涉及在这个SKU表。由于ItemToSku和Inventory都有sku_id,所以我想直接将它们连接在一起,就像上面的SQL版本一样。
如果不在我的多对多表模型(ItemToSku)中添加混淆关联,我该如何编写适当的ActiveRecordy方法来执行此操作?我一直在玩.joins(),但我找不到任何使用.joins没有现有关联的例子。我不想创建这些关联的主要原因是,Sku上有20个关联,Item上有更多关联,并且复制这些关联似乎很愚蠢,因此只会优化一个查询才能真正关联。