1

Course、Student、TestScoresの3つのエンティティでデータモデルを設定しています。

それらは、次のような非常に多くの関係でリンクされています。

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

したがって、コースには複数の学生が含まれ、その学生は複数のTestScoresを持つ(またはテストスコアなし)可能性があります。

コースエンティティにはName属性があります。TestScoresは、testScoreint属性を含む単純なエンティティです。

コース名順に並べられた、少なくとも1つのtextScoreが100の学生の配列を取得できるようにしたいと思います。これはNSPredicateで可能ですか?

4

1 に答える 1

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]];
于 2012-08-07T11:34:04.573 に答える