1
當使用嵌套包含關聯時,我必須在where子句中使用OR。 我有一個ActiveRecord查詢,如下所示:或者在where子句中使用嵌套時包含或與連接關聯
Inventory.includes(:category,:inventory_tiers,:modifiers=>[:modifier_measures,:modifier_tiers])
.where(
:categories => { category_tag: 'Dry'},
:location_id =>12,
:inventory_tiers => {:tier => 1}),
modifiers: {category_tag:"Wet"},
modifier_tiers: {tier:1}
)
在where子句中使用,爲所有條件。 但我想使用或過去的兩個條件,是這樣的:
Inventory.includes(:category,:inventory_tiers,:modifiers=>[:modifier_measures,:modifier_tiers]).where("categories.category_tag=? AND location_id=? AND inventory_tiers.tier = ? OR modifiers.category_tag=? OR modifier_tiers.tier=?", "Wet",12,1,"Wet",1).select("inventories.id,inventories.name,inventories.photo,inventory_tiers.sell_price, modifiers.id,modifiers.name,modifiers.price,modifier_measures.id as measure_id,modifier_measures.name as measure,modifier_measures.price as measure_price,modifier_measures.measure_value")
,但它不工作。 我如何重寫語法?
首先,很多不同版本的rails標籤都是你實際運行的版本。這是說你必須使用字符串的地方或部分。什麼是不工作關於這其他比你可能缺少一些parens – engineersmnky
你實際使用什麼Rails版本?請清理標籤。 –
什麼是「不工作」?錯誤訊息?預期的行爲?實際行爲? –