核心数据实体A与实体B具有多对多关系,实体B与实体C具有多对多关系,实体C具有两个属性:类型和值。
A =>> B =>> C (所以:A.Bs.Cs.type,A.Bs.Cs.value)
对于所有具有任何C的B的所有A的NSArray
过滤谓词是什么(type =='test1'&& value =='test2')?
我见过的子查询样本只有1级深度。
我也试过[NSCompoundPredicate andPredicateWithSubpredicates:]
subpredicate 1)“ANY Bs.Cs.type =='test1'”并且subpredicate 2)“ANY Bs.Cs.value =='test2'”,但没有返回任何内容。
是的,我看过NSPredicate
&朋友文档,但找不到任何关于多级下钻的信息。
答案 0 :(得分:4)
您需要使用NSExpression +expressionForSubquery:usingIteratorVariable:predicate:或其中记录的表达式语法。
我觉得你的情况会像
(SUBQUERY(Bs, $b,
SUBQUERY($b.Cs, $c, $c.type=='text1' && $c.value='test2').@count != 0
).@count != 0)