首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过层次关系访问核心数据

通过层次关系访问核心数据
EN

Stack Overflow用户
提问于 2014-07-21 22:31:10
回答 1查看 40关注 0票数 0

我的核心数据模型在实体AthleteEvent之间有一对多的关系,从EventStats,我有一对一的关系。基本上,我的模型看起来像Athlete <<----->Events<------->Stats,因此,一个运动员可以有一个未知数量的事件,在这些事件中,运动员可以对每个事件有一组统计数据。我的问题是,我如何获取特定项目的特定统计数据,在特定的运动员。我的代码可以很好地添加运动员,然后为每个运动员创建特定的事件,但我在访问Stats中与特定运动员的特定事件相关的对象时遇到了困难。我该怎么处理这个?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-22 09:20:35

IMHO,你的数据模型不正确。您在文本中所描述的应该是这样的(我也正在删除您的实体中令人困惑的复数形式):

代码语言:javascript
复制
Athlete (stats)  <---------->> (athlete) Stats
Stats   (event)  <<----------> (stats)   Event

这里要理解的关键是,统计数据是某种“加入表”,它将运动员与项目联系起来,并存储这种关系的“副产品”。如果您不想存储任何额外的数据(如统计数据),您建议的多到多的关系将是合适的。

为了让所有运动员参加一项赛事:

代码语言:javascript
复制
[event.stats valueForKeyPath:@"athlete"]

为了使运动员参加的所有活动:

代码语言:javascript
复制
[athlete.stats valueForKeyPath:@"event"];

要获得某一特定项目运动员的统计数据:

代码语言:javascript
复制
[[athlete.stats filteredSetUsingPredicate:
  [NSPredicate predicateWithFormat:@"event = %@", event]] anyObject];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24875935

复制
相关文章

相似问题

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