NSPredicate一对多的关系

nic*_*ick 0 iphone core-data nspredicate ios

  • 假设一个Department实体和一个具有一对多关系的Employee实体
  • 假设关系在员工的部门和部门上 称为员工
  • 假设Employee有一个属性名称

我需要获取所有没有名为"Bob"的员工的部门

根据我读过的关于SO的其他答案,我试过这个:

name = @"Bob";
predicate = [NSPredicate predicateWithFormat:@"ALL employees.name != %@", name];
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.有任何想法吗?

谢谢.

Mar*_*n R 5

这里不需要子查询:

name = @"Bob";
predicate = [NSPredicate predicateWithFormat:@"NOT ANY employees.name == %@", name];
Run Code Online (Sandbox Code Playgroud)

由于某种原因,"ALL"聚合不适用于多对多关系,但"ANY"聚合有效.