0

我有一个Loans实体,其returnedDate属性可以包含日期或为 NIL。与另一个实体存在一对多关系,Items因此项目可以与 many 相关联Loans。我想创建一个谓词,我可以在其中找到所有当前没有loans.returnedDate==NIL.

假设我目前有以下内容:

Loan1-item1,returnedDate=NIL
Loan2-item1,returnedDate=5/4/2012
Loan3-item2,returnedDate=NIL.

我想要一个不返回任何项目的谓词。

NSPredicate *pred = [NSPredicate predicateWithFormat:@"!(ANY loaned.returnDate==nil)"];

返回项目 1。

NSPredicate *pred = [NSPredicate predicateWithFormat:@"(NONE loaned.returnDate==nil)"];

返回项目 1。

NSPredicate *pred = [NSPredicate predicateWithFormat:@"(ANY loaned.returnDate!=nil)"];

返回项目 1。

有人能告诉我什么逻辑会返回适当的结果吗?

4

1 回答 1

0

所以我使用了以下谓词:

(SUBQUERY(loaned, $sub, $sub.returnDate==nil).@count == 0)

它正在返回所需的结果。如果你能说服我不要使用 SUBQUERY,请告诉我怎么做。

于 2012-05-27T23:19:48.290 回答