Pour une relation comme ceci:données de base avec multiples à de nombreux prédicats
TagGroups < ---- >> Balises < < ---- >> objet
Un objet a des balises, les balises peuvent être groupé par tagGroups.
J'ai un objet, et je veux connaître tous les TagGroups auxquels appartiennent ses Tags.
Pour construire il prédicats, j'ai d'abord essayé la chaîne de format suivant:
(SOI est un taggroup)
NSPredicate* p = [NSPredicate predicateWithFormat:@"%@ IN SELF.tags.objects" , object];
Cela échoue parce que les ensembles ne sont pas traversèrent ala Key-ValueCoding.
Après quelques recherches, j'ai trouvé plusieurs questions expliquant la sous-requête
Core data to-many NSPredicate with AND
Ceux-ci semblent faire partie de la solution, mais contrairement à ces questions, je ne suis pas à l'essai pour une valeur comme " tag.name ", mais appartenance à la collection.
Donc, avec cela à l'esprit que j'ai essayé ceci:
NSPredicate* p = [NSPredicate predicateWithFormat:@"%@ IN SUBQUERY(SELF.tags, $eachTag,$eachTag.object)" , object];
qui ne parvient pas à analyser (j'ai essayé quelques autres variantes, sans succès, aussi bien)
Toutes les idées sur la façon de construire cette chaîne de format correctement?
Mise à jour:
également essayé de l'autre direction:
NSPredicate* p = [NSPredicate predicateWithFormat:@"ALL SUBQUERY(%@.tags,$eachTag,$eachTag.tagGroup)" , anObject];
Je serais très surpris si CoreData pouvait traduire des expressions 'SUBQUERY' dans une instruction SQL. Je pourrais toutefois avoir tord. –
Je n'étais pas au courant de cela jusqu'à ce que j'ai commencé à creuser des informations sur la récupération des relations many-to-many en utilisant NSFR. –