好的,我说有很多类型为“Office”的实体,并且它有一个名为“employees”的关系,这是一个包含“Employee”对象的多对多关系。 “Employee”有一个名为“lastName”的属性。
鉴于此,我需要进行一次返回,返回一个具有>的Office对象数组。 0名员工但在退回的办公室中,员工关系中的Employee对象已被过滤掉,只包括lastName等于“Smith”的Employee对象。
我可以很容易地获取所有Office对象,然后遍历它们并删除名称与Smith不匹配的所有员工,但是会删除商店中的那些对象。
我假设这里需要SUBQUERY,但我似乎无法正确过滤。有什么想法吗?
答案 0 :(得分:2)
您希望谓词中包含SUBQUERY
。
[NSPredicate predicateWithFormat:@"SUBQUERY(employees, lastName, lastName LIKE[cd] %@).@count > 0", @"Smith"]
这会在每个employees
关系上执行子查询,测试提供的字符串的lastName,并计算至少有一个这样的员工。