使用 NSPredicate 获取一对多关系值
Posted
技术标签:
【中文标题】使用 NSPredicate 获取一对多关系值【英文标题】:Fetching one to many relation values using NSPredicate 【发布时间】:2013-02-05 16:41:56 【问题描述】:我的核心数据模型包含实体部门和员工之间的多对多关系(部门-->>员工)。我需要获取两个日期之间员工加入日期的所有部门。
如何为此设置谓词???
谢谢……
【问题讨论】:
我不会认为这是重复的,特别是因为另一个问题不清楚并且没有一个答案被接受。 【参考方案1】:我认为你需要一个 SUBQUERY:
[NSPredicate predicateWithFormat:@"SUBQUERY(employees, $e, $e.joinDate >= %@ AND $e.jointDate >= %@).@count > 0",
fromDate, toDate]
employees
是 Department 到 Employee 的一对多关系。
(请参阅“NSExpression 类参考”中的expressionForSubquery:usingIteratorVariable:predicate:,其中记录了类似的问题和 SUBQUERY 解决方案)。
【讨论】:
以上是关于使用 NSPredicate 获取一对多关系值的主要内容,如果未能解决你的问题,请参考以下文章
NSPredicate:“添加”一对多关系CoreData中所有实体的属性值
NSPredicate 用于从一对多关系中获取项目,不包括特定的相关实体