ios – 使用嵌套的NSPredicate SUBQUERY

ios – 使用嵌套的NSPredicate SUBQUERY,第1张

概述这是我的对象图的相关部分: Store <-->> Gift <<--> Person <<-->> Tag 我希望能够通过tag.filtering属性过滤商店,如下所示: ANY gifts.person.tags.filtering == YES 但我理解为什么这不起作用,因为对一对多密钥的限制.所以我试图使用一组嵌套的SUBQUERY谓词,如下所示: NSPredicate* filter 这是我的对象图的相关部分:

Store <-->> Gift <<--> Person <<-->> Tag

我希望能够通过tag.filtering属性过滤商店,如下所示:

ANY gifts.person.Tags.filtering == YES

但我理解为什么这不起作用,因为对一对多密钥的限制.所以我试图使用一组嵌套的SUBquery谓词,如下所示:

nspredicate* filterPredicate = [nspredicate predicateWithFormat:   @"(0 != SUBquery(gifts,$x,(0 != SUBquery($x.person.Tags,$y,$y.filtering==YES).@count)).@count)"];

这在运行时失败并出现错误:

"sqlite error code:1,'no such column: t3.ZFILTERING'"

看起来我在正确的轨道上,但是找不到任何其他使用相同语法的示例.我错过了什么?

解决方法 从我上面的评论:

[nspredicate predicateWithFormat:@"SUBquery(gifts,ANY $x.person.Tags.filtering == YES).@count != 0"]

工作,甚至比嵌套的SUBquery更简单.

总结

以上是内存溢出为你收集整理的ios – 使用嵌套的NSPredicate SUBQUERY全部内容,希望文章能够帮你解决ios – 使用嵌套的NSPredicate SUBQUERY所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1057247.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存