是否可以在 NSPredicate 中使用嵌套的 SUBQUERY?

Posted

技术标签:

【中文标题】是否可以在 NSPredicate 中使用嵌套的 SUBQUERY?【英文标题】:Is it possible use nested SUBQUERY in NSPredicate? 【发布时间】:2012-11-05 00:49:25 【问题描述】:

如您所见,我有两个一对多的关系。是否可以编写这样一个嵌套的子查询,我想选择所有 A,其中任何属于 B 到 A 下的任何属于 C 满足特定条件?

【问题讨论】:

【参考方案1】:

您可以将 SUBQUERY 嵌套在谓词中。但是这里似乎单个 SUBQUERY 就足够了(如果ds 是从CD对一 关系),例如

[NSPredicate predicateWithFormat:@"SUBQUERY(bs, $x, ANY $x.cs.ds.name = %@).@count > 0", name];

【讨论】:

如果我使用嵌套的 SUBQUERY 方法,我该怎么做,为什么会出现以下错误? SUBQUERY(bs, $B, SUBQUERY(cs, $C, $ds.name != \"xxx\").@count).@count > 0 @János:看来你已经在***.com/questions/13242383/…解决了。 @martin:你在 Realm db 上工作吗,我想在 Realm db 中做同样的事情,但上面的查询没有在那里运行,所以如果你对此有一些想法,请告诉我,谢谢前进 @PravinTate:抱歉,我没有使用 Realm 的经验。也许不支持嵌套查询,我不知道。

以上是关于是否可以在 NSPredicate 中使用嵌套的 SUBQUERY?的主要内容,如果未能解决你的问题,请参考以下文章

如何在嵌套字典数组上使用 NSpredicate

嵌套对象 IOS 的 NSPredicate 问题

NSPredicate 针对 NSArray 中的嵌套值

使用嵌套的 NSPredicate SUBQUERY

NSPredicate 嵌套字典动态键

NSPredicate 过滤嵌套的 CoreData 模型