1
アソシエーションを含むネストされたインクルードで作業する場合、where句でORを使用する必要があります。次のように 私はActiveRecordのクエリを持っている:句が使用され、すべての条件のためにどこORでのネストされたインクルードまたはジョインでアソシエーションを使用して作業する場合のwhere句でのOR
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}
)
します。 しかし、私が使用したいOR最後の二つの条件、のようなもののために:
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")
が、その作業はありません。 構文をどのように書き換えることができますか?
まず最初に、さまざまなバージョンのレールタグがたくさんあります。実際にはどのバージョンが実際に動作していますか。その部分には文字列を使用する必要があると言われています。これ以外には何もしていないのですが、おそらく一部の括弧がありません – engineersmnky
あなたが実際に使っているバージョンは何ですか?タグを整理してください。 –
「機能していない」とは何ですか?エラーメッセージ?予想される行動?実際の行動? –