2013-04-30 2 views
0

여러 값을 테스트하기 위해 레일즈에서 where 절을 쓰려면 어떻게해야합니까?where 절에 대한 레일스 구문

이 작동하지 않습니다

where("wostatus_id = ?", 231 or 230 or 8466) 

은 또한이 같은 구문이 필요합니다 도움을

where("wostatus_id != ?", 231 and 230 and 8466) 

감사합니다! 당신은이 작업을 수행 할 수

답변

4

...

where("wostatus_id IN (?)", [231, 230, 8466]) 

또는

where("wostatus_id NOT IN (?)", [231, 230, 8466]) 
+0

감사합니다! – Reddirt

2

당신은 단지 정상을 사용할 수 hash condition :

Model.where(wostatus_id: [230, 231, 8466]) 

이 예상 "IN"을 생성합니다 질문. Rails 3에서는이를 "NOT IN"으로 변환 할 방법이 없으므로 where("wostatus_id NOT IN (?)", [230, 231, 8466]) 메소드를 다시 사용해야합니다. 레일 4에서

, 당신은 할 수 있어야한다 : 또한

Model.where.not(wostatus_id: [230, 231, 8466]) 

참조 : 도움을 How to express a NOT IN query with ActiveRecord/Rails?

+0

감사합니다. 좋은 정보입니다. – Reddirt