在 CoreData 表上执行此查询的最有效方法是什么?要使用标准员工数据库模型,我希望包含职位描述为“厨师”的员工的所有部门都有不同的部门 ID。碰巧,这里只有一个相关的表(员工)——我实际上没有部门表,只有重复的部门 ID。
最佳答案
考虑到您描述的模式,我将使用诸如 @"jobDescription LIKE 'chef'"
之类的谓词(格式字符串)执行提取,然后使用键值编码来获取唯一值结果数组:
[result valueForKeyPath:@"@distinctUnionOfValues.departmentID"];
或创建一组:
NSSet *deparmentIDs = [NSSet setWithArray:[result valueForKey:@"departmentID"]];
根据问题的规模(有多少员工),在内存中执行最后一步可能会令人望而却步。此时,您必须创建一个部门实体并进行工作以确保将适当的员工连接到每个部门。然后,您可以使用诸如 @"ANYEmployees.jobDescription LIKE 'chef'"
这样的谓词(格式字符串)来获取部门,以获取具有厨师员工的部门。
关于iphone - 获取 CoreData 中不同的 ID 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3578676/