我有两个实体,父母和孩子。 Parent实体与Child的多对多关系名为“children”。 Child具有名为“childName。”的String属性。
我想在Parent上创建一个fetched属性,让我们称之为“specialChild”,返回一个具有特定名称的Child,让我们说“Special”。当我访问fetched属性时,以下谓词返回一个空集:
我相信我会以某种方式弄乱谓词,因为我对他们仍然缺乏经验。 (我可以在“SUBQUERY”上找到Apple的零文档)我如何在Parent的fetched属性谓词中指定“childName为Special的子”?
是的,我正在调用-refreshObject:mergeChanges:但我仍然收到一个空结果。是的,目标实体是Child。
答案 0 :(得分:2)
你想要的是parent==$FETCH_SOURCE AND childName=="Special"
。这会得到Child
为“特殊”的任何childName
,其parent
是查找其特殊孩子的对象。
目标实体上必须存在fetched属性谓词中的属性。目的地为Child
,因此您无法使用children
,因为Parent
仅存在{。}}。
$FETCH_SOURCE
部分对应于您在代码中编写谓词时使用self
的位置。没有它,你就会得到每一个特殊的孩子,而不仅仅是附属于原始Parent
的孩子。它说,子项的parent
属性必须是查找获取的属性值的特定实例。