2013-08-02 3 views
0

두 개의 테이블에 기사 및 작성자가 있습니다. 각 기사에는 많은 저자가 있고 동일한 저자는 다수 기사에서 올 수있다. 내 Json 응답은 다음과 같습니다.관계 매핑 Restkit

{ 
    "Articles": [ 
     { 
      "artName": "ABC", 
      "artId": "1", 
      "Authors": [ 
       { 
        "autName": "James", 
        "autId": "200", 
        "email": "[email protected]" 
       }, 
       { 
        "autName": "Mark", 
        "autId": "201", 
        "email": "[email protected]" 
       }, 
       { 
        "autName": "Robert", 
        "autId": "202", 
        "email": "[email protected]" 
       } 
      ] 
     }, 
     { 
      "artName": "BCD", 
      "artId": "2", 
      "Authors": [ 
       { 
        "autName": "James", 
        "autId": "200", 
        "email": "[email protected]" 
       }, 
       { 
        "autName": "Ben", 
        "autId": "204", 
        "email": "[email protected]" 
       }, 
       { 
        "autName": "Rayon", 
        "autId": "205", 
        "email": "[email protected]" 
       } 
      ] 
     } 
    ] 
} 

매핑 :

RKObjectManager *manager = [[RestKit sharedDataManager] objectManager]; 
    RKEntityMapping *ArticleMapping = [RKEntityMapping mappingForEntityForName:@"Articles" inManagedObjectStore:manager.managedObjectStore]; 
    ArticleMaping.identificationAttributes = @[@"artId"]; 
    ArticleMaping addAttributeMappingsFromDictionary:@{ 
    @"artId": @"artId", 
    }]; 


    RKEntityMapping *AuthorMapping = [RKEntityMapping mappingForEntityForName:@"Authors" inManagedObjectStore:manager.managedObjectStore]; 
    AuthorMapping.identificationAttributes = @[@"autId"]; 

AuthorMapping addAttributeMappingsFromDictionary:@{ 
    @"autId": @"autId", 
@"autName" : @"autName", 
@"email" : @"email" 

    }]; 


[ArticleMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"Authors" toKeyPath:@"Authors" withMapping:AuthorMapping]]; 

나는 기사 및 저자에 대한 관계를 만들었습니다. 올바르게 매핑되지만, "artName"ABC에 대한 저자를 가져 오려고 할 때. 나는 단지 2 명의 저자를 얻고있다. 하지만 "artName"BCD에 대한 데이터를 가져 오려고 할 때. 나는 3 명의 저자를 얻고있다. DB에서 체크 할 때 "James"레코드의 관계 키를 BCD의 레코드로 덮어 씁니다.

어떻게 두 기사의 모든 저자에게 액세스 할 수 있습니까?

참고 : 나는

Restkit 0.20을 사용하고있는 두 개체 사이의 관계는 많은 많은 할 필요하거나 새로운 과제가 명시 적으로 이전 할당을 깰 것이다 당신에게

+0

데이터 모델에서 많은 관계가 있습니까? – Wain

+0

예 .. DB 모델 –

답변

1

감사드립니다.

RKRelationshipMapping을 만들 때 assignmentPolicyRKUnionAssignmentPolicy으로 설정했는지 확인하십시오. 기본값은 RKSetAssignmentPolicy이며 기존 설정을 제거 할 수 있습니다.

+0

에 많은 것을 많이 사용하고 있습니다. 답변을 주셔서 감사합니다. 확인하십시오. –

+0

위 답변은 트릭을 수행합니다. 감사합니다. –