【问题标题】:How to use multiple ANY operators within one predicate?如何在一个谓词中使用多个 ANY 运算符?
【发布时间】:2012-08-09 11:21:24
【问题描述】:

有两个实体 C 和 P 具有多对多关系。我正在尝试获取 C 实体,其中 C 包含至少一个 P,因此包含至少一个 C,其属性 a 具有特定值。

我正在尝试这样的事情:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY p.c.a = %d ", someValue];

但这显然不起作用,因为 P 也与 C 有一对多的关系。我需要这样的东西:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY p.ANY(c).a = %d ", someValue];

你会如何以正确的方式编写这样的谓词?

【问题讨论】:

    标签: ios core-data nspredicate nsfetchrequest


    【解决方案1】:

    如果您想要所有 C 实体与至少一个P 实体有关系,那么您可以使用

    NSFetchRequest* request = [[NSFetchRequest alloc] initWithEntityName:@"C"];
    NSPredicate * predicate = [NSPredicate predicateWithFormat:@"count(p) != 0"];
    request.predicate = predicate;
    

    假设p 是从CP 的一对多关系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-30
      • 2011-07-29
      • 2013-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多