如何构建此SUBQUERY NSPredicate?

时间:2012-03-26 14:08:12

标签: objective-c ios core-data subquery nspredicate

问题是:

我有3个实体:ImgThumb,Img和BookmarkedItems。他们之间的关系如下:

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

现在,有一个ImgThumb数组我试图制作一个NSPredicate来过滤这些ImgThumbs如下:

  • 我需要所有没有书签的ImgThumb。

为了达到这个目的,我正在尝试使用SUBQUERY构建一个NSPredicate:

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 个答案:

答案 0 :(得分:2)

您不需要SUBQUERY。我假设你的获取实体是ImgThumb,在这种情况下你的谓词应该是:

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