2012-08-07 83 views
1

我有一個數據模型設置與三個實體,課程,學生,TestScores。NSPredicate查詢父母和孩子

他們太多的關係鏈接是這樣的:

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

所以課程會有幾個學生,誰又將可以有多個TestScores(或沒有測試成績)

課程實體有一個Name屬性。 TestScores是一個簡單的實體,它只包含一個testScore int屬性。

我希望能夠獲得至少一個textScore爲100的學生數組,按課程名稱排序。這可能與NSPredicate?

回答

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]];