2013-08-31 2 views
0

У меня есть две основные объекты данных, скажем, менеджер и сотрудник. Каждый менеджер имеет двух и только сотрудников. У сотрудников есть часовое целое число, когда они синхронизируются и когда они выходят из системы. Как создать предикат, который проверяет, работают ли менеджеры, у которых есть часы до определенного времени и часов после определенного времени?Основные данные Связь сортировка по свойствам ребенка

Если высказывалось отношения как массив вместо набора я мог бы сделать это:

[NSPredicate predicateWithFormat:@"SELF.employees[0] > %i && SELF.employees[1] < %i", clockIn, clockOut]; 

я также мог бы отделить проверку временем и проверить время как два отдельных лиц с теми же свойствами, но это похоже, противоречит всей концепции ООП.

[NSPredicate predicateWithFormat:@"SELF.employees.in.hour > %i && SELF.employees.out.hour < %i", clockIn, clockOut]; 

Я также попытался добавить категорию к диспетчеру, который возвращает «в», но я получаю не найден ключевой ресурс в сущности ... ошибку.

ответ

1

Вы можете использовать агрегатные операторы ALL, ANY, SOME и NONE:

[NSPredicate predicateWithFormat:@"ALL employees.inTime > %i && ALL employees.outTime < %i", clockIn, clockOut]; 

Вы не сказали, что атрибуты Интайм и outTime названы так заменить в случае необходимости.

+0

Большое вам спасибо, это именно то, что я искал. – Kevin

Смежные вопросы