2012-04-20 165 views
0

取我有这样 产品--->选项(一到多的关系,没有-invers)核心数据对象与谓词

选项------->尺寸(一个模型 - 到 - 一个关系,无INVERS)

选项-------> sold_out(属性,BOOLEAN)

现在我想获取的所有产品,其中所有选项所有尺寸的阵列option.sold_out是NO。

如何使用谓词来从核心数据,而不是通过迭代产品阵列的选项

回答

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]]; 

UPDATE

,这是你的,谁需要逆 - 因为没有足够的办法为你做这个请求,而不大小---->选项关系。如果你有一个,我们称之为选项,你可以做你的要求是这样的:

request.entity = [NSEntityDescription entityForName:@"Size" inManagedObjectContext:managedObjectContext]; 
request.prdicate = [NSPredicate predicateWithFormat:@"option.sold_out == %@",[NSNumber numberWithBool: YES]]; 
+0

谢谢,但是这会给我的产品阵列,我需要大小的数组。大小在选项中。我们可以做任何如何 – Soni 2012-04-20 11:04:53

+0

更新我的回答 – 2012-04-20 12:22:56

+0

谢谢,我认为我犯了错误,因为不跟上倒数。 – Soni 2012-04-23 05:53:11