NSPredicate SUBQUERY为1对多对多关系

时间:2016-08-02 00:51:18

标签: mysql objective-c core-data subquery nspredicate

我正在尝试构建一个NSPredicate以满足给定的关系。我的数据模型具有以下内容:University -> College -> Classrooms - ClassroomType

  • 大学对象有1到多所大学。
  • 大学对象有1到多个教室。
  • 每间教室都有一个具有指定属性的特定教室类型 我很感兴趣。

该属性被称为typeDescription我想构建一个查询,它可以让我所有大学的typeDescription等于值“computerlab”。我可以使用的对象是大学列表。我很确定我需要构建一个NSPredicate SUBQUERY,但我不太确定如何构建它以满足我的要求。如果有人以正确的方式构建此查询,那么我们将非常感激。

1 个答案:

答案 0 :(得分:1)

对于一对多关系,您需要嵌套两个SUBQUERY子句:

NSPredicate(format:"SUBQUERY(colleges, $c, SUBQUERY($c.classrooms, $room, $room.classroomType.typeDescription == %@).@count > 0).@count > 0","computer lab")