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版本?请清理标签。 –
什么是“不工作”?错误讯息?预期的行为?实际行为? –