親 - 子 - 孫に対してエンティティを設定し、それらの間の 1 対多の関係がある場合、親のすべての子エンティティまたは子のすべての孫エンティティを取得できることがわかります。
特定の親のすべての孫エンティティを取得するフェッチを実行することは可能ですか?
助けてくれてありがとう!
親 - 子 - 孫に対してエンティティを設定し、それらの間の 1 対多の関係がある場合、親のすべての子エンティティまたは子のすべての孫エンティティを取得できることがわかります。
特定の親のすべての孫エンティティを取得するフェッチを実行することは可能ですか?
助けてくれてありがとう!
多対多の関係ごとに逆の関係がないと、記述したフェッチ要求を実行できません。ただし、逆の関係をモデル化する必要があります。CoreDataは、逆を使用してオブジェクトグラフの一貫性を維持します。toとtoのparent
関係が与えられると、次のことができます。Child
Parent
Grandchind
Child
Pareint *aParent; //already initialized
NSSet *allGrandchildren = [aParent valueForKeyPath:@"children.@unionOfSets.children"];
Grandchild
または、述語を持つエンティティに対するフェッチ要求:
[NSPredicate predicateWithFormat:@"parent.parent == %@", aParent];