Update auf die folgende Frage: Wir waren in der Lage, die untergeordnete Entität mit der Vater Entity Abrufanforderung mithilfe der Vater-Kind-Beziehung abzufragen. Beispielabfrage ist wie folgt:Wie erstellt man eine fetchRequest für mehrere Entitäten?
NSPredicate *myPredicate = [NSPredicate predicateWithFormat:@"fatherChild.name LIKE 'fx'"];
Nun, was wir versuchen zu tun, das Prädikat oben verwenden, aber eine andere eine andere Bedingung, wo wir Kind für einen bestimmten Väter Namen suchen wollen. Wir benutzten den folgenden Code
NSPredicate *myPredicate = [NSPredicate predicateWithFormat:@"name LIKE 'john' AND ANY fatherChild.name in 'fx'"];
Aber das Programm abgestürzt ist, mit der Ausnahme: [__NSCFString countByEnumeratingWithState: Objekte: count:]: Unbekannter Selektor an Instanz gesendet 0xad49c40
durch Beispiele Lesen wir sehen, wir subquery verwenden können aber nicht sicher, was die Syntax für unseren Fall wäre, in dem wir eine Entität mit einer Beziehung von eins zu viele haben. Jede Hilfe wäre willkommen?
Danke.
Frage: Wir haben ein Datenmodell mit drei Einheiten: Vater, Mutter und Kind. Bitte sehen das bild als referenz.
Ein Beispiel Abfrage Anfrage wir auf den Vater Einheit haben ist unten angegeben:
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Father"
inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSString *attributeName = @"name";
NSPredicate *myPredicate = [NSPredicate predicateWithFormat:@"%K like %@",
attributeName, searchField.text];
Wir haben ähnliche Abfrageanforderung für Mutter und Kind Einheiten. Wir möchten eine Abfrage erstellen, um die Entitäten Vater und Mutter zu kombinieren. Zum Beispiel wollen wir nach Vaters Name = Mike und Mothers name = Jen in einer einzigen Suchanfrage suchen. Wie machen wir es?
Vielen Dank für Ihre Antwort.
Willst du sagen, dass du zwei verschiedene Arten von Ergebnissen aus einer einzigen Abfrage haben willst, oder dass du nach Kindern suchst, bei denen 'mother.name == foo' und' vater.name == bar'? –
Letzteres ist, was wir versuchen zu tun. Vielen Dank! – user1306828