Rails 4를 사용하고 있다면 Trung Lê`와 VinniVidiVicci의 답변을 살펴보십시오.
Topic.where.not(forum_id:@forums.map(&:id))
Topic.where(published:true).where.not(forum_id:@forums.map(&:id))
나는 포함되지 않는 쉬운 해결책이 있기를 바라고 있습니다 find_by_sql
. 그렇지 않으면 그것이 작동해야한다고 생각합니다.
Topic.find(:all, :conditions => { :forum_id => @forums.map(&:id) })
이것은 같은
SELECT * FROM topics WHERE forum_id IN (<@forum ids>)
그와 관련이있는 방법이 있는지 궁금합니다 NOT IN
.
SELECT * FROM topics WHERE forum_id NOT IN (<@forum ids>)
Person.all(:name.not => ['bob','rick','steve'])