首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用核心数据关系?

如何使用核心数据关系?
EN

Stack Overflow用户
提问于 2013-12-06 11:34:37
回答 3查看 68关注 0票数 0

在我的应用中,我有3个相关的实体。运动员、运动和运动分数。

运动员与运动之间存在着一种多对多的关系。与之相反的是whosExercise。锻炼与锻炼分数之间存在着一对多的关系。与之相反的是whichExercise。

我想执行一个fetch请求,其中我获得了运动员的所有运动分数。我怎么才能得到它呢?我是否需要运动员和运动分数之间的另一种关系,或者这是多余的?如果是,我将如何使用exercise作为我的请求的谓词?

EN

回答 3

Stack Overflow用户

发布于 2013-12-06 12:25:54

如果运动与运动员有关,那么你应该能够这样做:

代码语言:javascript
复制
[NSPredicate predicateWithFormat:@"SELF.athlete = @%", currentAthlete];

然后:

代码语言:javascript
复制
[Exercise fetchByPredicate:currentAthletePredicate];

应该是这样的。

票数 0
EN

Stack Overflow用户

发布于 2013-12-06 13:59:34

如果我理解清楚,您需要为运动员选择所有ExerciseScore,但运动员与ExerciseScore表没有直接关系。

SLQ查询可能如下所示:

代码语言:javascript
复制
 Select *
 from ExerciseScore
 where IDScore in (select IDScore
                     from  Exercise
                    where IDExercise in ( select IDExercise
                                           from Athlete
                                        )
                  )

但在Core Data中,您不能操作SLQ查询。尝试这种方法。

1.获取运动员的所有锻炼:

代码语言:javascript
复制
NSError *error;
NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Exercise"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.athlete = @%", currentAthlete];
request.predicate=predicate;
NSArray *athleteExercises = [self.managedObjectContext  executeFetchRequest:request error:&error];

2.遍历一组练习,以获得每个练习的所有练习分数。

代码语言:javascript
复制
NSMutableArray *allScores = [NSMutableArray arrayWithCapacity:0];;
for (Exercise *exercise in athleteExercises) {

  if ([exercise.scores count]>0) {
     [allScores addObjectsFromArray:[exercise.scores allObjects]; //exercise.scores must be NSSet type
  }
}

allScores数组现在包含特定Athlete.的所有ExerciseScore对象

票数 0
EN

Stack Overflow用户

发布于 2013-12-06 16:06:13

谓词可以有关键路径:

代码语言:javascript
复制
@"whichExercise.whosExercise = %@",athlete

或者,如果你已经有了运动员,不要做fetch请求,只需通过关系属性获得分数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20415459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档