使用NSPredicate获取一对多关系值

时间:2013-02-05 16:41:56

标签: ios objective-c macos core-data nspredicate

我有实体部门和员工的核心数据模型,从部门到员工(部门 - >>员工)有很多关系。我需要获取员工在两个日期之间加入日期的所有部门。

如何为此设置谓词

谢谢....

1 个答案:

答案 0 :(得分:3)

我认为你需要一个SUBQUERY:

[NSPredicate predicateWithFormat:@"SUBQUERY(employees, $e, $e.joinDate >= %@ AND $e.jointDate >= %@).@count > 0",
     fromDate, toDate]

employees是从部门员工的多对多关系。

(参见“NSExpression类参考”中的expressionForSubquery:usingIteratorVariable:predicate:,其中记录了类似的问题和SUBQUERY解决方案。)