2010-03-04 6 views
6

J'essaie de récupérer des données d'une entité dans des données de base où je connais la valeur d'une entité associée.Obtention d'une entité de données principale à partir d'une entité parente

IE:
Entité1
-attrib1.1
-attrib1.2
-relationship1

Entity2
-attrib2.1
-relationship1

Entité1 a à plusieurs relation à l'entité 2 sur la relation1. J'essaie d'obtenir la valeur de Entity2 où Entity1.attrib1.1 = XXX.

J'ai essayé d'utiliser NSPredicate, mais je ne sais pas comment, si possible, écrire la syntaxe dans la méthode predicateWithFormat.

Si cela n'a pas de sens, désolé. Je vais essayer de nettoyer si nécessaire.

J'ai cherché google et ici, mais je n'ai rien trouvé. Peut-être que mes yeux donnent? ;)

Répondre

4

Je pense que vous essayez trouver des exemples de Entity2Entity1.attrib1.1==XXX et Entity1.relationship1 contient une référence à l'instance Entity2. D'après votre description, il n'est pas clair si Entity2.relationship1 est l'inverse de Entity1.relationship1. Sinon, vous devriez vraiment créer la relation inverse et la définir comme telle dans le modeleur de données. À moins que vous ne sachiez exactement ce que vous faites et que vous n'ayez pas besoin de la relation inverse, les données de base ne fonctionneront pas comme vous le souhaitez, sauf si la relation inverse existe.

Une fois que vous avez la relation inverse Entity2-Entity1 (appelons-le inverseRelationship pour titre d'exemple), vous pouvez effectuer une demande d'extraction sur Entity2 en utilisant une instance NSPredicate avec la chaîne de format

inverseRelationship.attrib1.1 == XXX 

si la l'inverse est une relation un-à-un ou

ANY inverseRelationship.attrib1.1 == XXX 

si l'inverse est également une relation de type «à plusieurs».

+0

Vous êtes l'HOMME! Oui, j'ai des relations inverses établies. En fait, j'essayais juste ce que vous avez écrit avec une torsion. J'essayais: Entity.reverseRelationship.attrib1.1 == XXX Ensuite, je l'ai essayé sans entité et ça a marché! Je suis ensuite venu ici et j'ai vu votre message! Merci encore!! – RoLYroLLs

+0

Désolé, je suis un nouvel utilisateur, donc je ne peux pas vous surpasser. Seulement 11 rep. Merci encore! – RoLYroLLs

+0

Je suis content que vous l'ayez compris tout seul. Bonne chance! –