2012-03-26 78 views
1

問題是這樣的:如何構建此SUBQUERY NSPredicate?

我有3個實體:ImgThumb,Img和BookmarkedItems。他們有他們之間的關係如下:

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

現在,有一個ImgThumb數組我試圖做一個NSPredicate其如下過濾掉這些ImgThumbs:

  • 我需要的不是書籤所有ImgThumbs 。

爲了實現這一點,我想建立一個NSPredicate使用SUBQUERY這樣的:

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

我的請求失敗,錯誤:

Unable to generate SQL for predicate (0 != SUBQUERY(image, $x, 0 != SUBQUERY($x.bookmarkItems, $y, [email protected] == 0)[email protected])[email protected]) (problem on RHS) 

我在做什麼錯?

回答

2

你不需要SUBQUERY。我假設你的提取實體是ImgThumb,在這種情況下,你的謂詞應該是:

[NSPredicate predicateWithFormat:@"[email protected] == 0"];