跨3个实体的iOS核心数据查询

时间:2013-03-13 21:51:58

标签: ios core-data nspredicate

Model Image

我的数据模型类似于上面的简化模型。中心是Person实体,一个人可以参加一个或多个测试。一个或多个人可以进行给定的测试。最后,一个人可以与一个或多个姓氏相关联。我的大多数查询只能用两个实体完成,但我有一个需要全部三个实体。我想返回Surname.surname = @“someValue”的测试对象。我该怎么做?

注意:关系testTakenByPerson绘制不正确。这是一种与众不同的关系,而不是一对一的关系。

谢谢吉姆

1 个答案:

答案 0 :(得分:1)

与此答案https://stackoverflow.com/a/15390492/1187415类似,您可以将SUBQUERY用于嵌套的多对多关系:

[NSPredicate predicateWithFormat:@"SUBQUERY(personsWhoTookTest, $p, ANY $p.surnames.surname == %@).@count > 0", @"someValue"]];