Как мне построить этот SUBQUERY NSPredicate? - PullRequest
1 голос
/ 26 марта 2012

проблема в следующем:

У меня есть 3 объекта: ImgThumb, Img и BookmarkedItems.Они имеют отношения между ними следующим образом:

ImgThumb <-> Img (1 to 1)
Img <->> BookmarkItems (1 to many)

Теперь, имея массив ImgThumb, я пытаюсь создать NSP-предикат, который фильтрует эти ImgThumbs следующим образом:

  • Мне нужны всеImgThumbs, которые не помечены закладками.

Чтобы добиться этого, я пытаюсь создать NSPredicate с использованием SUBQUERY, например:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"0 != SUBQUERY(image, $x, 0 != SUBQUERY($x.bookmarkItems, $y, $y.@count == 0).@count).@count"];

Мой запрос не выполняется с ошибкой:

Unable to generate SQL for predicate (0 != SUBQUERY(image, $x, 0 != SUBQUERY($x.bookmarkItems, $y, $y.@count == 0).@count).@count) (problem on RHS)

Что я делаю не так?

1 Ответ

2 голосов
/ 26 марта 2012

Вам не нужно SUBQUERY.Я предполагаю, что ваша выборочная сущность равна ImgThumb, и в этом случае ваш предикат должен быть:

[NSPredicate predicateWithFormat:@"img.bookmarkItems.@count == 0"];
...