에 부정적인 조건 조인 작업을 수행 = 조인> : member_tags, : conditions => "태그가"숨김 "인 member_tag가없는 모든 회원)내가 두 가지 모델을 가지고는 레일
어떻게하면됩니까? 레일보다 SQL 질문 중 하나는 :
에 부정적인 조건 조인 작업을 수행 = 조인> : member_tags, : conditions => "태그가"숨김 "인 member_tag가없는 모든 회원)내가 두 가지 모델을 가지고는 레일
어떻게하면됩니까? 레일보다 SQL 질문 중 하나는 :
나는이 트릭을 할 수 있다고 생각 : 대답은 SQL (왼쪽 가입하고 널 (null)를 확인하거나, 'NOT IN` 하위 쿼리 쓰기)에서 간단하지만
select `members`.*
from `members`
LEFT JOIN `member_tags`
ON `members`.id = `member_tags`.member_id
where `members`.id NOT IN (select `members`.id
from `members`
LEFT JOIN `member_tags`
ON `members`.id = `member_tags`.member_id
where `member_tags`.tag = 'hidden'
);
이것은 고맙습니다. – MikeMarsian
더 나은 아무것도 가지고 올 캔트하고 화재로이 그 일의 추한 방법이다 (N + 1) n은 회원
Member.all.select {|member| !(member.member_tags.map(&:tag).include? "hidden")}
이것은 "숨겨진"아닌 태그를 가진 모든 멤버를 반환하는 것 같습니다. 대신, 나는이 태그가 전혀없는 모든 회원을 원합니다. – MikeMarsian
@ mike .. 나는 그것을 추천하지는 않지만 대답을 편집했습니다. – rubyprince
을, 나는 액티브 그것을 표현하는 방법을 몰라 구문을 참조하십시오. –
도와 주시겠습니까? 내 SQL 기술은 끔찍한 – MikeMarsian