我在格式化谓词以查找核心数据中的嵌套关系时遇到问题。我遇到过一些非常相似的问题/评论,我希望能帮助我找到正确的解决方案 - 但我仍然卡住了。
我正在尝试创建一个获取请求,以搜索与特定Gadget实例相关的所有Foo实例。
我首先尝试在foo实体的fetchRequest上使用谓词:
[NSPredicate predicateWithFormat:@"ANY bar.widgets.gadget == %@", myGadget]
但此获取请求返回0结果。我假设它是因为嵌套的多对多关系。
我想我需要使用一个子查询,这是我以前从未使用过的。经过大量的研究和阅读,我试过了
[NSPredicate predicateWithFormat:@"SUBQUERY(bar.widgets, $w, ANY $w.gadget == %@).@count > 0", myGadget]
我收到错误
SQLite错误代码:1,'没有这样的列:t2.ZGADGET'
所以,我认为我需要一个子查询来解决这个问题,如果是这样,我该如何正确格式化呢?