我有一个Loans
实体,其returnedDate
属性可以包含日期或为NIL。与另一个实体Items
存在多对多的关系,以便项目可以与许多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)"];
返回item1。
NSPredicate *pred = [NSPredicate predicateWithFormat:@"(NONE loaned.returnDate==nil)"];
返回item1。
NSPredicate *pred = [NSPredicate predicateWithFormat:@"(ANY loaned.returnDate!=nil)"];
返回item1。
有人能告诉我什么逻辑会返回适当的结果?
答案 0 :(得分:0)
所以我使用了以下谓词:
(SUBQUERY(loaned, $sub, $sub.returnDate==nil).@count == 0)
它正在返回所需的结果。如果你能说服我不要使用SUBQUERY,请告诉我如何。