1

我有一个包含三个实体的数据模型设置,Course、Student、TestScores。

它们以太多的关系联系在一起,如下所示:

Course <---->> Student <---->> TestScores

所以一个课程会有几个学生,而学生又可能有几个测试分数(或没有测试分数)

Course 实体有一个 Name 属性。TestScores 是一个简单的实体,它只包含一个 testScore int 属性。

我希望能够获得一组学生,他们至少有一个 textScore 为 100,按课程名称排序。NSPredicate 可以做到这一点吗?

4

1 回答 1

2

我认为您可以将谓词设为

ANY testScores.score == 100

然后将它们放在一个 fetch 请求中:

NSFetchRequest *req = [NSFetchRequest fetchRequestForEntityNamed:@"Student"];
req.predicate = [NSPredicate predicateWithFormat:@"ANY testScores.score == 100"];
req.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"course.name" ascending:YES]];
于 2012-08-07T11:34:04.573 回答