我有一个像这个产品这样的模型--->选项(一对多关系,没有-invers)
选项 -------> 大小(一对一关系,无反转)
选项-------> sold_out(属性,布尔值)
现在我想获取 option.sold_out 为 NO 的所有产品的所有选项的所有尺寸的数组。
如何使用谓词从核心数据中获取它,而不是遍历产品数组和选项
我有一个像这个产品这样的模型--->选项(一对多关系,没有-invers)
选项 -------> 大小(一对一关系,无反转)
选项-------> sold_out(属性,布尔值)
现在我想获取 option.sold_out 为 NO 的所有产品的所有选项的所有尺寸的数组。
如何使用谓词从核心数据中获取它,而不是遍历产品数组和选项
首先永远不要在 Core Data 中使用单向关系。您可能不会自己使用它,但 Core Data 需要它来实现引用完整性。
现在,关于你的要求。你可以使用这样的东西。
request.entity = [NSEntityDescription entityForName:@"Product" inManagedObjectContext:managedObjectContext];
request.prdicate = [NSPredicate predicateWithFormat:@"ANY option.sold_out == %@",[NSNumber numberWithBool: YES]];
现在,需要相反的是你——因为如果没有Size---->Option关系,你就没有足够的方法来完成这个请求。如果你有一个,我们称之为选项,你可以像这样提出你的要求:
request.entity = [NSEntityDescription entityForName:@"Size" inManagedObjectContext:managedObjectContext];
request.prdicate = [NSPredicate predicateWithFormat:@"option.sold_out == %@",[NSNumber numberWithBool: YES]];