我有一个包含三个实体的数据模型设置,Course,Student,TestScores。
它们之间存在太多关系:
Course <---->> Student <---->> TestScores
所以一门课程会有几个学生,而这些学生可能会有几个TestScores(或没有测试成绩)
Course实体具有Name属性。 TestScores是一个简单的实体,它只包含一个testScore int属性。
我希望能够获得一系列至少有一个textScore为100的学生,按课程名称排序。 NSPredicate可以实现吗?
答案 0 :(得分:2)
我认为你可以将你的谓词作为
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]];