CoreData - NSP предикат результатов, если отношение имеет данные - PullRequest
1 голос
/ 30 августа 2011

У меня есть отношение «многие ко многим» между таблицами, и я заполняю табличное представление Операциями.Для этого я использую простой NSP-предикат, подобный этому:

request.predicate = [NSPredicate predicateWithFormat:@"deleted == %@", [NSNumber numberWithBool:NO]];

enter image description here

Как мне сделать так, чтобы показывать только те действия, к которым присоединены участники?

Я думаю, что в NSPredicate мне нужно сделать какой-то подсчет, чтобы возвращались только те действия с количеством> 0.Это так?Как?

(я новичок в coredata ...)

Спасибо,

RL

1 Ответ

3 голосов
/ 31 августа 2011

Вам необходимо добавить подзапрос к вашему предикату, действующему на объекте CompanyActivity, следующим образом:

[[NSPredicate predicateWithFormat:@"deleted == %@" && (0 >= SUBQUERY(Members, $sub, $sub.deleted == %@).@count)", [NSNumber numberWithBool:NO] [NSNumber numberWithBool:NO]];

Первая часть предиката возвращает объекты, которые не были удалены, вторая часть, связанная с подзапросом, будет заботиться о получении всех тех объектов CompanyActivity, элементы которых не были удалены.

...