我有这样的模特 产品--->选项(一对多关系,无 - 无)
选项------->大小(一对一的关系,无反向)
选项-------> sold_out(属性,BOOLEAN)
现在我想获取所有产品的所有尺寸的所有尺寸的数组,其中option.sold_out为NO。
如何使用Predicates从Core Data中获取它而不是通过产品数组迭代选项
答案 0 :(得分:1)
首先永远不要在核心数据中使用单向关系。您可能不会自己使用它,但Core Data需要它来引用完整性。
Why does an entity need an inverse?
现在,关于你的要求。你可以使用这样的东西。
request.entity = [NSEntityDescription entityForName:@"Product" inManagedObjectContext:managedObjectContext];
request.prdicate = [NSPredicate predicateWithFormat:@"ANY option.sold_out == %@",[NSNumber numberWithBool: YES]];
现在,需要反向的是你,因为没有大小---->选项关系,没有足够的方法来执行此请求。如果您有一个,我们称之为选项,您可以这样做:
request.entity = [NSEntityDescription entityForName:@"Size" inManagedObjectContext:managedObjectContext];
request.prdicate = [NSPredicate predicateWithFormat:@"option.sold_out == %@",[NSNumber numberWithBool: YES]];