2012-03-05 4 views
0

マイCoreDataのモデルがで3つのエンティティを持っていると述語内の任意の単語対多の関係:
仕事< < - >>グループ< < - >>人ので、グループが行うことができます
さまざまな仕事や人がさまざまなグループに参加することができます。
私は仕事をしているすべての人を取りたいです。
私はこのようなことを書こうと思っています。
すべてのグループ。 ANY job == 'some job'
しかし、これは間違っていることがわかります。 :)次の述語が正しいと私が意味すること: ANY group.job == 'some job'
2対多の関係

答えて

0

ジョブを実行するすべての人物を見つけるために述語を使用する必要はありません。

NSSet* groups = someJob.groups; //this will get all group that does the job 
NSMutableSet* people = [NSMutableSet set]; 
for(Group* aGroup in groups){ 
    [people unionSet:aGroup.people]; //this will add the people in this group 
} 
//now people set has all the people that does the job 
+0

ええ、私は本当にここでprecicateなしで対処することができます:) Thanx – ukrbublik

0

NSPredicateはto-manyリレーションシップではなくドットシンタックスをサポートしますが、おそらく、最も良い解決策は、@ "ANY job LIKE group"と@ "ANY group LIKE job"にマッチする述部を持つ2つの独立したフェッチ要求を行い、結果を交差させることでしょう。