【发布时间】:2014-04-16 17:48:26
【问题描述】:
我正在尝试为以下(简化)模型构建单个 NSFetchRequest 谓词:
Category和多个Brands 之间存在简单的多对多关系。-
每个
Brand都有一个modelNumbersData属性,它是二进制数据,NSStringmodelNumbers 数组的序列化,在Brand对象的瞬态属性中公开。 Brands 和Models 之间没有直接关系。关系是Model的modelNumber可能在Brand的modelNumbers瞬态属性中。
我想构建一个NSPredicate 查询来获取特定Category 下的所有Model 对象。
为Brand 获取Models 很容易,我可以做到"modelNumber IN $FETCH_SOURCE.modelNumbers"。我现在如何扩展此查询以源自该类别?看来我需要SUBQUERY?
此外,我正在做一个NSFetchRequest,所以除非我弄错了,否则我需要从"SELF.modelNumber IN (...)" 开始,以便我们从所有Models 中进行选择。
提前致谢!
【问题讨论】:
-
作为更新,如果我首先获取所有
Models,我可以过滤我想要的内容:SUBQUERY(%@.brands, $brand, $brand.modelNumbers CONTAINS SELF.modelNumber).@count > 0但是我如何将其组合成一个步骤/查询?似乎它需要反过来......
标签: core-data subquery nspredicate one-to-many identifier