2011-02-09 13 views
2

多対多関係に関連する2つのエンティティがあるシンプルな状況があります。多対多関係でオブジェクトを取得するときの述語の問題

アラームとタグの2つのオブジェクト。私は特定のタグに関連付けられているすべてのアラームを取得したい場合は、私はこれを試してみました:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%@ IN tags", theTag]; 

私は何を得ることは、すべてのアラーム、タグに関連したものだけでなくです。

しかし、この試みて他の方法では回避します:コードの再利用を行うことを持つ複雑な理由から

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF in %@", theTag.alarms]; 

は、私が実際に動作する最初のものを必要としています。どんな助けでも大歓迎です!ありがとう!

答えて

1

あなたがTagオブジェクトを持っている場合は、あなたが実行してそのアラームの全てを取得することができます:いくつかの奇妙な理由であなたは(あなたがいけない)フェッチ要求でこれを行う必要がある場合は

NSSet *alarms = [theTag alarms]; 

をあなたの述語は:

NSPredicate *p = [NSPredicate predicateWithFormat:@"tags CONTAINS %@", theTag]; 
+0

です。時々、あなたは頭の側であなたを打つために誰かを必要とする...それを感謝する! –

関連する問題