J'ai un modèle de données avec une relation many-to-many comme EntityA <-->> EntityB <<--> EntityC
. J'avais l'habitude de demander EntityA
avec différents critères de recherche et j'utilise NSCompoundPredicate
avec un tableau de NSPredicate
s. Sur l'un des prédicat que je voulais interroger EntityA
en utilisant EntityC
. J'ai essayé d'utiliser le SUBQUERY
suivant mais cela n'a pas fonctionné.Relation de plusieurs à plusieurs de données de base NSPredicate
searchPredicate=[NSPredicate predicateWithFormat:@"(0 != SUBQUERY(EntityB, $B, (0 != SUBQUERY($B.EntityC, $EntityC, $EntityC.name like %@)[email protected]))[email protected])", name]
Et je suis l'exception suivante,
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Can't perform collection evaluate with non-collection object.'
Est-ce que je suis absent. J'apprécierais toute aide.
Sarah
Merci pour votre réponse, je vous ai utilisé avant l'approche, mais a obtenu l'exception suivante *** Termination app en raison d'exception non interceptée 'NSInvalidArgumentException', raison: 'prédicat non pris en charge TOUS B.EntityC.name LIKE "nom"' et I utilisé l'éditeur de prédicat pour le construire. – Sarah
Essayez 'N'IMPORTE QUELLE entityB.entityC.name LIKE [c] $ aName' et fournissez la variable" aName ". Assurez-vous que vos noms de relations ne sont pas littéralement les mêmes que les noms d'entité. – TechZen
N'importe quelle entitéB.entityC.name LIKE [c] $ aName a très bien fonctionné, merci – Sarah