【问题标题】:Core Data many-to-many predicateCore Data 多对多谓词
【发布时间】:2013-10-03 09:38:04
【问题描述】:

我有两个通过多对多关系关联的实体:

Database <<----->> Category

也就是说,一个数据库可以有很多类别,一个类别可以关联很多数据库。

我需要一个NSPredicate,它将返回与给定数据库对象关联的所有类别对象。任何帮助将不胜感激。

【问题讨论】:

    标签: core-data nspredicate


    【解决方案1】:

    您不需要谓词。假设您有一个名为 categories 的关系,它是与您的 Category 实体的一对多关系,那么

    NSSet *categoriesForDatabase = database.categories;
    

    如果你真的想使用谓词,那么它会是:

    [NSPredicate predicateWithFormat:@"ANY databases = %@", database];
    

    其中“databases”是 Category 实体上的多对多关系的名称,database 是 Database 实体的一个实例。

    【讨论】:

    • 在发布我的之前我没有看到你的答案..抱歉
    【解决方案2】:

    您想将集合(所有 Category 对象)与给定对象进行比较,您可以尝试这样的操作:

    [NSPredicate predicateWithFormat:@"ANY categories = %@", category];
    

    [NSPredicate predicateWithFormat:@"ANY databases = %@", database];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-23
      • 2021-12-07
      • 1970-01-01
      • 2011-01-18
      • 2011-09-04
      • 1970-01-01
      相关资源
      最近更新 更多