1
중첩 된 포함을 연관과 함께 사용할 때 where 절에 OR을 사용해야합니다. 다음과 같이 내가 액티브 쿼리가 있습니다또는 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}
)
절에서 사용하는 곳에있는 모든 조건. 하지만 내가 사용하려는 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
실제로 사용하는 레일 버전은 무엇입니까? 태그를 정리하십시오. –
"작동하지 않는"것은 무엇입니까? 오류 메시지? 예상되는 행동? 실제 행동? –