Форматирование NSPredicate: Соответствует «ЛЮБОМУ», который соответствует двум условиям - PullRequest
14 голосов
/ 17 августа 2011

** Я немного растерялся из-за того, как отформатировать предикат NSP, где «любое» определенного отношения соответствует более чем одному условию.

Так, например, скажем, я делаю запрос на выборку для сущности «Работодатель» и хочу, чтобы все работодатели имели хотя бы одного работника в возрасте до 18 лет. Итак, я могу использовать "ANY employees.age < 18" - достаточно просто. Но, скажем, я хочу соответствовать любому, у кого есть работник младше 18 лет, у которого также есть фамилия «Хаузер». То есть работодателю недостаточно сопоставить как «любого работника моложе 18 лет», так и «любого работника по имени« Хаузер »» - у них должен быть хотя бы один сотрудник, соответствующий обоим условиям.

Как будет отформатирован этот предикат?

1 Ответ

14 голосов
/ 17 августа 2011

Это одно из редких обстоятельств, когда вам нужно SUBQUERY:

SUBQUERY(employees, $e, $e.age < 18 && $e.lastName == 'Howser').@count > 0
...