Comment créer un NSFetchRequest les filtres de Base de Données des objets basée sur les attributs ET les relations?

J'ai un Core modèle de Données de configuration comme suit:

  • Blockbuster Entité
    • À Plusieurs relations à DVD entités.
  • DVD Entité
    • titre attribut (string)
    • À Une relation à un parent Blockbuster entité

Un seul Blockbuster peut avoir plusieurs DVD à l'intérieur de celui-ci (À Plusieurs). Chaque DVD ne peut faire partie que d'un seul Blockbuster (À Un).

Il y a plusieurs Blockbuster, et certains peuvent contenir des DVD entités qui partagent le même titre dans le DVD des entités à partir d'autres Blockbuster de l'. Par exemple, Blockbuster Un pourrait avoir une copie de "Transformers 2", et ainsi de ne Blockbuster C et Blockbuster G. Imaginons pas de Blockbuster a plus d'une copie du même nom film.

Je suis intéressé par attrapant la Transformers 2 DVD de Blockbuster C. Je ne veux pas les copies de Blockbuster Un ou G, parce que mon patron fréquente là, et je ne peux que sortir avec la gravure de ce morceau d'ordures dans Blockbuster C.


Ma question est, comment puis-je former un NSFetchRequest qui s'empare d'une DVD avec le titre "Transformers 2", qui est un enfant de la Blockbuster "C" entité mère?

Ce type de demande vous permet de retrouver tous les "Transformateur 2" en DVD, mais pas le seul spécifique pour le Blockbuster C entité:

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];

Est-il un moyen de passer, disons, l'ID d'Objet d'un objet à l'intérieur de la NSPredicate, le filtrage basé sur qui?