Основные данные: NSPredicate для отношения «многие ко многим». («Ключ ко многим здесь не разрешен»)

У меня есть две сущности с именами «Категория» и «Статья», которые имеют отношение «многие ко многим». Я хочу сформировать предикат, который ищет все статьи, в которых category.name равно некоторому значению. Имею следующее:

 NSEntityDescription  *entityArticle   = [NSEntityDescription entityForName:@"Article" inManagedObjectContext:managedObjectContext]; 
 NSSortDescriptor  *sortDescriptor   = [[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES];
 NSArray     *sortDescriptors  = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
 NSPredicate    *predicate    = [NSPredicate predicateWithFormat:@"categories.name == [cd] %@", category.name]; 

 [request setSortDescriptors:sortDescriptors];
 [request setEntity:entityArticle];
 [request setPredicate:predicate];

 NSMutableArray *results = [[managedObjectContext executeFetchRequest:request error:nil] mutableCopy];

 if ([results count] > 0)
  NSLog(@"Results found."); 
 else 
  NSLog(@"NO results found."); 

 [request release];
 [sortDescriptor release];
 [sortDescriptors release];

Я получаю сообщение об ошибке *** Завершение работы приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: «здесь не разрешен ключ для многих»

Есть ли какие-либо варианты для получения нужных данных?

63
задан Oh Danny Boy 18 November 2010 в 17:42
поделиться