1

下の図のような関係を持つ 3 つのテーブルがあります。Mark Kryzhanouski ( CoreData の多対多の関係)の助けを借りて、レシピのすべての材料のセットにアクセスする方法を知っています。

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

しかし、フェッチして成分のリストにアクセスしたいと思います。将来的には「カートへ」機能を用意するからです。

図式

私はその方法でこれを行いました

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

それが正しいか?

4

1 に答える 1

0

短い答え: はい、正しいです。

レシピの材料のプロパティを表示するcountには、レシピと材料に関連するJoinオブジェクトinCartを見つける必要があります。

Joinエンティティの次の述語は、その結果を与える必要があります。

NSManagedObject *theIngredient;
[NSPredicate predicateWithFormat:@"inRecipe == %@ AND ingredient == %@", self.recipe, theIngredient]
于 2013-02-25T09:58:00.483 に答える