如何在一个谓词中使用多个 ANY 运算符



有两个实体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是从CP的一对多关系。

最新更新