【问题标题】:Relationship Modelling in Core DataCore Data 中的关系建模
【发布时间】:2010-12-03 15:33:33
【问题描述】:

我对 Objective C 和 Core Data 还很陌生,在设计一个玩家一对一组队并进行多场比赛并最终得到特定结果的案例时遇到了问题。

使用 MySQL,我将有一个球员表(球员主键、姓名)和一个比赛表(球员 A 外键、球员 B 外键、结果)。

现在我如何使用 Core Data 做到这一点?我可以使用关系轻松地将玩家实体与匹配实体联系起来。但是我如何为第二个玩家参考建模反方向。在匹配实体中?

播放器
名称:属性
匹配:关系匹配

匹配
结果:属性 PlayerA:与玩家的关系( PlayerB:与玩家的关系(

如果有人能给我一个想法,那就太好了!

谢谢, 史蒂夫。

【问题讨论】:

    标签: objective-c core-data datamodel


    【解决方案1】:

    如果您的比赛有特定的主队球员和客队球员,那么您将使用:

    player.homeMatches <---->> match.homePlayer
    player.awayMatches <---->> match.awayPlayer
    

    你可能还有:

    player.matches
    

    如果您需要按所有匹配项进行搜索,并且您不想将搜索字段与搜索字段相结合。或者你可以提供一个方法/只读属性“allMatches”:

    - (NSSet *)allMatches
    {
        return [[NSMutableSet setWithSet:self.homeMatches] unionSet:self.awayMatches];
    }
    

    在运行时给出值。当然,您不能使用 fetch 谓词按此“allMatches”属性进行搜索,但您可以在运行时进行排序和访问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-20
      • 2010-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多