0

나는 데이터베이스가있는 경우가 있습니다. 각 항목에는 여러 위치가있을 수 있습니다.NSPredicate + itemLocations == 위치

이제 2 질문 :

1 나는, 각 항목은 여러 위치로 연결되거나 45,34 "@ 예를 들어 혼수 상태에 단일 문자열로 기록 할 수있는 방법이되는 관계를 만들어야합니다 32 "(숫자는 위치 임).

내가 관계를 만들면 또 다른 질문이 제기됩니다. XML에서 항목을 기록하고 있으므로 어떻게 작성하고 기록해야합니까?이 경우 시나리오는 다음과 같을 수 있습니다.

항목 1 - 위치 1,2,3 항목 2 - 위치 1,2가 있음 , 5

어떻게 데이터베이스에 삽입해야합니까? 실제로 술어를 형성하는 방법

2

이 될 것입니다

@

"%의 @ LIKE brand_id 및 item_stock! = 0 AND item_location.locations == % I"

같이 떨어지게

위의 내용이 혼란스럽지 않으므로 응답에 정말로 감사 할 것입니다.

답변

0

이것은 관계 (I 이해 각 항목이 여러 지역을 가지고 수 있기 때문에,이 경우에는 "대다", 각 위치는 다수의 항목에 할당 될 수있다)

    필요한 전형적인 예이다
  1. 2 개체 "항목"과 "항목" "위치"
  2. 에 일대 다 관계 "위치"엔터티에 대해 동일한 작업을 수행하는 관계 "위치"생성은 "위치"
  3. 만들기 (하지만 그 반대의 경우)

이러한 구조는 이제 다 대다 관계를 저장할 수 있습니다. 이제

는이 같은 떨어지게 (당신이 "항목"엔티티 검색 제공)을 할 수있는, 이러한 구조를 조회 :

@"brand_id == %@ AND item_stock != 0 AND ANY locations == %d"

는 데이터가 XML로 올 때, 당신은 그것을 구문 분석해야 각 위치를 따로 따로 추가하십시오. 위치가 이미 위치 테이블에있는 경우 항목의 관계 집합에 추가하십시오.

+0

고맙습니다. 빠른 대응을 위해. –

+0

질문이 하나 더 있습니다. XML에 대해. 거기에 메서드가 자동으로 생성 된 관리되는 개체 클래스를 보았다. 그러나 나는 아직도 그것을 추가하거나 제거하는 대신 실제로 관계를 설정하는 방법을 이해할 수 없다. 뿐만 아니라 반비례 관계 여야합니다. –

+0

그래, 나는 네 사건에서 그것이 역관계라고 생각해. "추가/제거 대신 업데이트"라는 의미는 예제로 더 잘 설명됩니다. 위치 7이 있고 이미 해당 위치가있는 항목이 있다고 가정 해보십시오. 따라서 항목 위치 목록에 7을 추가하는 대신 먼저 해당 항목이 이미 있는지 확인한 다음 추가하십시오 (그렇지 않으면 작업을 건너 뜁니다). 또한 위치 엔티티로 7이 기록되었는지 확인하십시오. 마지막으로 쿼리에 한 가지 오타가 있습니다. 위치는 더 이상 정수가 아니지만 Core Data 엔터티이므로 'ANY locations == % @'이어야합니다 – Nick

관련 문제