0

나는 다음과 같은 설정을 가진 레일 애플 리케이션을 특정 자동차 속성이 설정된 경우, 즉 주어진 브랜드의 자동차를 소유 한 사용자가있는 모든 조직을 반환합니다.레일 5 쿼리 단일 및 다중 연결 관계를 모두 사용하여

쿼리를 수행 할 때 조직의 Car 클래스에 참여하려면 어떻게해야합니까? 현재 다음을 수행하여 사용자 기준에 따라 조직을 검색합니다.

Organization.joins(:users).where("users.name = ?", name) 

그러나 검색어에 자동차 기준을 추가 할 수 있기를 원합니다.

답변

0

방법 만 주어진 이름이 아니라 주어진 이름을 가진 자동차와 사용자를 검색 할 그것을 보이는 this-

###add this scope in Organisation model that has - has_many :users 
scope :get_users_by_carBrand, -> (brand) { includes(:cars).where(:cars=> {:name => brand} } 

###this is the select query 
Organization.includes(:users).get_users_by_carBrand("BMW") 
+0

사용에 대한? – Hawkeye001

+0

나는 내 대답을 업데이 트했습니다 ... 친절하게 체크 – Milind

+0

죄송합니다 @milind, 내 질문에 오류가 발생했습니다 (차/사용자 연관이 역전되어 원래 요약으로 고정되었습니다), 실제 구조를 기반으로하면 그 해결책은 없을 것입니다 적용하지 마라. – Hawkeye001