好的,所以寻找答案,我可能会假设其他人不是,这就是解决方案为他们工作的原因 .
Problem :假设我有一个名为 DogOwner
的实体 . 狗主人可以有多个 Dogs
,每只狗可以有多个 Wearables
. 请注意,所有关系都是可选的,并且是一对多的(反对多对一) .
Aim: 搜索拥有 Wearable
类型 GpsTracker
且包含id为 898764
的狗的所有犬主 .
My approach: 使用以下谓词获取实体 DogOwner
NSPredicate(format: "(dog.wearable.type == %@) AND (dog.wearable.external_id CONTAINS[cd] %@)", theType, theIdentifier)
我收到 unimplemented SQL generation for predicate
错误 .
Tried - > with ANY
(Nested core data fetch)尝试了互联网上出现的其他内容 . 到目前为止,我没有看到任何工作,我认为问题是更深层次的,因为嵌套树结构图正被其他人使用点表示法成功查询 .
2 回答
我认为您需要使用SUBQUERY,只是因为您需要同时测试这两个条件:
或者“获取DogOwners拥有超过0条狗,其中有超过0条可穿戴设备符合标准” .
虽然子查询是一种可行的方法,但它非常复杂,而且不必要 . 为什么不直接搜索特定的
Wearable
并通过方便的一对一关系获得所有者?