NSPredicate for Nested Relationships

ali*_*ton 7 core-data nspredicate ios

我在格式化谓词以查找核心数据中的嵌套关​​系时遇到问题.我遇到过一些非常相似的问题/评论,我希望能帮助我找到正确的解决方案 - 但我仍然卡住了.

在此输入图像描述

我正在尝试创建一个获取请求来搜索与Gadget的特定实例相关的所有Foo实例.

我首先尝试在Foo实体的fetchRequest上使用谓词:

[NSPredicate predicateWithFormat:@"ANY bar.widgets.gadget == %@", myGadget]
Run Code Online (Sandbox Code Playgroud)

但是这个获取请求返回0结果.我假设它是因为嵌套的多对多关系.

我想我需要使用一个子查询,我以前从未使用过.经过大量的研究和阅读,我试过了

[NSPredicate predicateWithFormat:@"SUBQUERY(bar.widgets, $w, ANY $w.gadget == %@).@count > 0", myGadget]
Run Code Online (Sandbox Code Playgroud)

我收到错误

SQLite错误代码:1,'没有这样的列:t2.ZGADGET'

所以,我认为我需要一个用于此场景的子查询,如果是这样,我该如何正确格式化它?