Iphone NSPredicate查询父项和子项

Iphone NSPredicate查询父项和子项,iphone,objective-c,ios,core-data,nspredicate,Iphone,Objective C,Ios,Core Data,Nspredicate,我有一个包含三个实体的数据模型设置:课程、学生、测试分数 它们在过多的关系中相互关联,如下所示: Course <---->> Student <---->> TestScores 课程>学生>考试成绩 因此,一门课程会有几个学生,而这些学生又会有几个测试分数(或没有测试分数) 课程实体具有名称属性。TestScores是一个简单的实体,它只包含一个TestScoresint属性 我希望能够得到一组学生,他们至少有一个文本分数为100,按课程名称排序。NS

我有一个包含三个实体的数据模型设置:课程、学生、测试分数

它们在过多的关系中相互关联,如下所示:

Course <---->> Student <---->> TestScores
课程>学生>考试成绩
因此,一门课程会有几个学生,而这些学生又会有几个测试分数(或没有测试分数)

课程实体具有名称属性。TestScores是一个简单的实体,它只包含一个TestScoresint属性


我希望能够得到一组学生,他们至少有一个文本分数为100,按课程名称排序。NSPredicate是否可以这样做

我想你可以用谓词

ANY testScores.score == 100
然后将其全部放在提取请求中:

NSFetchRequest *req = [NSFetchRequest fetchRequestForEntityNamed:@"Student"];
req.predicate = [NSPredicate predicateWithFormat:@"ANY testScores.score == 100"];
req.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"course.name" ascending:YES]];