0

多対多の関係を持つ 2 つのエンティティ C と P があります。C エンティティを取得しようとしています。ここで、C には少なくとも 1 つの P が含まれており、その結果、属性 a に特定の値を持つ少なくとも 1 つの C が含まれています。

私はこのようなことを試みています:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY p.c.a = %d ", someValue];

ただし、P は C とも対多の関係にあるため、これは明らかに機能しません。次のようなものが必要です。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY p.ANY(c).a = %d ", someValue];

そのような述語を正しい方法でどのように記述しますか?

4

1 に答える 1

0

少なくとも 1 つのエンティティに関連するすべての エンティティを取得する場合は、次のようにします。CP

NSFetchRequest* request = [[NSFetchRequest alloc] initWithEntityName:@"C"];
NSPredicate * predicate = [NSPredicate predicateWithFormat:@"count(p) != 0"];
request.predicate = predicate;

pが から までの 1 対多の関係であると仮定しCますP

于 2012-08-09T16:55:39.983 に答える