Core data NSPredicate为两个级别的项目提供深度对多关系,无直接关系
我正在尝试为以下(简化)模型构建一个Core data NSPredicate为两个级别的项目提供深度对多关系,无直接关系,core-data,subquery,nspredicate,one-to-many,identifier,Core Data,Subquery,Nspredicate,One To Many,Identifier,我正在尝试为以下(简化)模型构建一个NSFetchRequest谓词: 一个类别和许多品牌之间存在简单到多的关系 每个品牌都有一个modelNumbersData属性,该属性是二进制数据,是NSStringmodelNumbers数组的序列化,在品牌对象的瞬态属性中公开 Brands和Models之间没有直接关系。这种关系是型号的型号可能在品牌的型号瞬态属性中 我想构建一个NSPredicate查询,以获取特定类别下的模型对象 为品牌获取模型很容易,我可以执行中的“modelNumber$
NSFetchRequest
谓词:
- 一个
和许多类别
之间存在简单到多的关系品牌
- 每个
都有一个品牌
属性,该属性是二进制数据,是modelNumbersData
modelNumbers数组的序列化,在NSString
对象的瞬态属性中公开品牌
s和Brand
s之间没有直接关系。这种关系是Model
的型号
可能在型号
的品牌
瞬态属性中型号
NSPredicate
查询,以获取特定类别下的模型
对象
为品牌
获取模型
很容易,我可以执行中的“modelNumber$FETCH\u SOURCE.modelNumbers”
。现在,我如何扩展此查询以从类别开始?似乎我需要一个子查询
此外,我正在执行一个NSFetchRequest
,因此除非我弄错了,否则我需要从“SELF.modelNumber IN(…)”
开始,以便从所有模型中进行选择
提前谢谢 好的,我先到了。以下工作仅供参考:
SUBQUERY(%@.brands, $brand, $brand.modelNumbers CONTAINS $modelNumber).@count > 0
我认为我最大的问题是忽略了@count
组件。我仍然不太明白这一点,但似乎对所有子查询
语句都是必要的。作为更新,如果我首先获取所有模型
s,我可以使用子查询(%@.brands,$brand,$brand.modelNumbers包含SELF.modelNumber).@count>0
但我如何将其合并到单个步骤/查询中?看来应该是另一种方式。。。