У меня настроена модель ядра данных примерно так:
- Блокбастер Сущность
- Отношение ко-многим DVD сущностей.
- DVD Сущность
- заголовок атрибут (строка)
- Отношение «Один к одному» с родителем Блокбастер Сущность
Один блокбастер может иметь несколько DVD-дисков (To-Many). Каждый DVD может быть только частью одного блокбастера (To-One).
Существует несколько блокбастеров, и некоторые из них могут содержать объекты DVD, которые имеют тот же заголовок, что и объекты DVD других блокбастеров. Например, Блокбастер A может иметь копию «Трансформеры 2», как и Блокбастер C и Блокбастер G . Давайте представим, что в «Блокбастере» не было более одной копии одноименного фильма.
Мне интересно получить DVD Transformers 2 с Blockbuster C . Я не хочу копий с Blockbuster A или G , потому что мой босс часто там, и я могу только сгореть с этим куском мусора в Blockbuster C .
У меня вопрос, как мне сформировать NSFetchRequest, который захватывает DVD с заголовком "Transformers 2", который является потомком Blockbuster"C" родительский объект?
Этот тип запроса будет захватывать все DVD-диски "Transformer 2", но не тот, который относится к объекту Blockbuster C:
NSManagedObjectContext *moc = [self managedObjectContext];
NSString *aTitle = @"Transformers 2";
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"title == %@", aTitle];
[request setEntity:[NSEntityDescription entityForName:@"DVD" inManagedObjectContext:moc]];
[request setPredicate:predicate];
NSError *error = nil;
NSArray *results = [moc executeFetchRequest:request error:&error];
// error handling code
[request release];
Есть ли способ передать, скажем, идентификатор объекта связанного объекта в предикат NSP, фильтруя на основе этого?