0

好的,假设我有许多类型为“Office”的实体,并且它有一个名为“employees”的关系,这是一个包含“Employee”对象的一对多关系。“Employee”有一个名为“lastName”的属性。

鉴于此,我需要执行返回一组具有 > 0 个员工的 Office 对象的获取,但在返回的办公室中,员工关系中的 Employee 对象已被过滤为仅包含 lastName 等于“Smith”的 Employee 对象.

我可以轻松地获取所有 Office 对象,然后遍历它们并删除名称与 Smith 不匹配的所有员工,但这会删除商店中的这些对象。

我假设这里需要 SUBQUERY,但我似乎无法正确过滤它。有任何想法吗?

4

1 回答 1

2

你想要一个SUBQUERY在你的谓词中。

[NSPredicate predicateWithFormat:@"SUBQUERY(employees, lastName, lastName LIKE[cd] %@).@count > 0", @"Smith"]

这将对每个关系执行子查询employees,测试提供的字符串的 lastName,并计算至少有一个这样的员工。

于 2013-02-08T20:41:11.837 回答