두 개의 테이블에 기사 및 작성자가 있습니다. 각 기사에는 많은 저자가 있고 동일한 저자는 다수 기사에서 올 수있다. 내 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을 사용하고있는 두 개체 사이의 관계는 많은 많은 할 필요하거나 새로운 과제가 명시 적으로 이전 할당을 깰 것이다 당신에게
데이터 모델에서 많은 관계가 있습니까? – Wain
예 .. DB 모델 –