나는 product
테이블과 line_items
테이블을 가지고 있습니다.레일에 조인 테이블을 통해 연결하지 않는 경우
product
참여 테이블 product_line_items
을 통해 has_and_belongs_to_many line_items.
line_item ID 6에 표시되지 않는 모든 제품을 나에게 돌려 줄 수있는 쿼리를 어떻게 작성합니까?
나는의 라인을 따라 뭔가 생각하고 있어요 :
Product.joins(:line_items).where.not(line_items: {id: 6})
을하지만 내부 조인하고있어 이것은 나에게 행이 반환되지 않고 내 제품을 실제로 아무도 지금 광고 항목에 없습니다 ..
간단한 방법으로이 글을 쓸 수 있습니까? 아니면 왼쪽 join 쿼리를 사용해야합니까?
그래서 line_item ID 6에 표시되지 않은 모든 제품 (광고 항목에 전혀 등장하지 않은 제품 포함)을 찾고 싶습니다. 내가 발견하지 못한 쉬운 쿼리 구문이 있습니까?
감사합니다. v. much.
line_item의 ID가 6이라는 것은 무엇을 의미합니까? 제품과 line_items 간의 모든 연관을 기록하는 line_items_products 테이블이 있다고 가정합니다. 광고 항목 ID가 3이면 연결을 수행하는 테이블의 line_item_id 필드 또는 uniq id 필드입니까? – Typpex
@Typpex 안녕하세요, 예, 내가 조인 테이블입니다 product_line_items 테이블을 언급했다. 6의 line_item.id는 특히 line_items 테이블 ID 열과 관련됩니다. 감사. – neiled