使用CoreData中的join-table获取数据

时间:2013-02-25 08:28:56

标签: ios core-data fetch

我有三张表,关系如下图所示。 在 Mark Kryzhanouski CoreData many-to-many relationship)的帮助下,我知道如何访问某些食谱中所有成分的集合:

NSMutableArray* ingredients = [recipe valueForKeyPath:@"ingredients.ingredient"];

但我想通过提取来访问成分列表。因为将来我会准备“推车”功能。

Scheme

我这样做了

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY count.inRecipe == %@", self.recipe];

是正确的吗?

1 个答案:

答案 0 :(得分:0)

简短回答:是的,这是正确的。

要显示配方的配料的countinCart属性,您必须找到与配方和配料相关的 Join 对象。

Join 实体的以下谓词应该给出结果:

NSManagedObject *theIngredient;
[NSPredicate predicateWithFormat:@"inRecipe == %@ AND ingredient == %@", self.recipe, theIngredient]