Google 검색을 수행하고 내 질문 here과 비슷한 질문을 발견했습니다. 그러나 해결책이 무엇인지에 대해서는 여전히 분실했습니다. 내 경우는 다음입니다 :Rails 4 : model.where.not은 nil 레코드를 반환하지 않습니다.
가 나는 category_id
(테이블 Category
에 외래 키) 및 author
(VARCHAR 255)가 위치를 데이터베이스 테이블이 Book
라고합니다. category_id
으로이 테이블을 쿼리해야하지만 특정 작성자 이름은 제외해야합니다. 예 : 저자 미상으로 모든 CATEGORY_ID = 10 도서는 제외 책을 얻을 :
books = Book.where(category_id: 10).where.not(author: 'John Doe')
또는
이 두 쿼리는 누구의 저자nil
인 레코드를 제외하고 나를 위해 작동
books = Book.where(category_id: 10).where("author != ?", "John Doe")
. 또한 이러한 쿼리는 nil
작성자가있는 레코드를 반환해야합니다.
시도해 보셨습니까? books = where (category_id : 10) .where ("author <> 또는 author =?", "Doe doe", nil) – power
NULL은 알 수 없으므로 특별히 @ 크리스 먼더슨의 대답. –