У меня есть три модели:
+----------+ +--------------+ +------+
| Occasion | <--->> | GiftOccasion | <--->> | Gift |
+----------+ +--------------+ +------+
Я хотел бы получить название события и подсчет всех подарков, которые соответствуют определенным критериям. В настоящее время я получаю четкий список случаев, отсортированных по году и названию:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request retain];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Occasion" inManagedObjectContext:[self managedObjectContext]];
[request setEntity:entity];
[request setResultType:NSDictionaryResultType];
[request setPropertiesToFetch:[NSArray arrayWithObjects:@"name", @"year", nil]];
[request setReturnsDistinctResults:YES];
NSSortDescriptor *yearDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"year" ascending:NO selector: @selector(caseInsensitiveCompare:)] autorelease];
NSSortDescriptor *nameDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES selector: @selector(caseInsensitiveCompare:)] autorelease];
NSArray *descriptors = [NSArray arrayWithObjects:yearDescriptor, nameDescriptor, nil];
[request setSortDescriptors:descriptors];
NSError *error = nil;
NSArray *results = [[self managedObjectContext] executeFetchRequest:request error:&error];
... но я в полном недоумении от того, как получить счет Gift
. Есть ли прямой путь, или мне нужно пройти через все GiftOccasion
и связанные Gift
и сложить все вместе?
ETA: обратите внимание, что я выдаю отличные результаты , здесь, не получаю модель напрямую. Я предполагаю, что мне нужно будет выполнить еще один запрос, чтобы получить эту информацию, но если это невозможно, это было бы лучше.
Спасибо!