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上有更多關聯,並且複製這些關聯似乎很愚蠢,因此只會優化一個查詢才能真正關聯。