0

多対多の関係で相互にリンクされている2つのテーブルがあります。

3 番目のテーブルで多対多の関係を 2 つの 1 対多の関係に分割する必要があるため、同等の SQL は存在しません。

たとえば、2 つのコア データ エンティティがあります。プロパティを持つカテゴリ (アイテムの配列) とプロパティを持つアイテム (カテゴリの配列) です。

「空の」カテゴリ (このカテゴリのアイテムがない場合) を除くすべてのカテゴリを取得する必要があります。

私の現在の一時的な解決策は間違っているようです。NSFetchRequest を使用してすべてのカテゴリを取得します。次に、for-each を使用して手動で項目配列が空のすべてのカテゴリをこの配列から削除します。

4

2 に答える 2

1

空のカテゴリを除くすべてのカテゴリを取得するには、次のような述語を使用できます。

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Category"];    
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"items.@count > 0"];
NSArray *categories = [context executeFetchRequest:fetchRequest error:NULL];
于 2013-09-24T17:02:21.747 に答える
0

私の解決策:

[NSPredicate predicateWithFormat:@"ANY items != nil"]
于 2013-09-25T06:45:51.407 に答える