有两个实体C和P具有多对多关系。我正在尝试获取 C 实体,其中 C 包含至少一个 P,因此至少包含一个 C 及其属性 a 的特定值。
我正在尝试这样的事情:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY p.c.a = %d ", someValue];
然而,这显然是行不通的,因为P也与C有多关系。我需要这样的东西:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY p.ANY(c).a = %d ", someValue];
您将如何以正确的方式编写这样的谓词?
如果要获取与至少一个P
实体有关系的所有C
实体,则可以使用
NSFetchRequest* request = [[NSFetchRequest alloc] initWithEntityName:@"C"];
NSPredicate * predicate = [NSPredicate predicateWithFormat:@"count(p) != 0"];
request.predicate = predicate;
假设p
是从C
到P
的一对多关系。