2014-02-08 2 views
0

컨트롤러를 국가별로 필터링해야합니다. 내 모델은 국가가 loc3 또는 loc4 중 하나에Rails Active Record query 수행 방법

loc1, loc2, loc3 and loc4 

4 개 위치 필드가 있습니다. 국가가 loc3 인 경우 loc4은 비어 있습니다.

내 모델에 country이라는 메서드가 있지만 국가를 반환하지만 내 활성 레코드 쿼리에서는 사용할 수 없습니다.

loc3과 loc4를 보는 AR 쿼리를 어떻게 수행 할 수 있습니까? loc4가 비어 있으면 loc4가 비어 있지 않으면 loc4를 사용하고 loc4는 비어 있지 않습니다.

아이디어가 있으십니까?

감사

당신이

Model.select("COALESCE(loc4, loc3) AS location") 

그리고 컨트롤러에 포스트 그레스 또는 MySQL을 사용하는 경우는 COALESCE 기능을 사용할 수 있습니다

답변

0

, 당신은 어디 방법 (

model.location 
0

그냥 정상을 사용하여 말할 수있다 비어있는 경우 ""을 의미).

Model.where(country: (loc3 || loc4)) 
관련 문제