個人/チームの関係をモデル化しようとしています。1 人が複数のチームに所属することができ、1 つのチームが複数の人を持つことができるため、これは多対多の関係です。ドキュメントで示唆されているように、TeamMember という中間エンティティを作成しました。私は現在、クエリを実行して、人のリストがあるかどうか、既存のチームが既に存在するかどうかを確認しようとしているため、重複したチームをデータベースに保存していません
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
NSEntityDescription *entity =
[NSEntityDescription entityForName:@"Team"
inManagedObjectContext:[pm managedObjectContext]];
[request setEntity:entity];
NSPredicate *predicate = nil;
predicate = [NSPredicate predicateWithFormat:@"ALL %K IN %@", @"teamMembers.person", players];
プレーヤーは、私が検索しようとしている人々の NSSet です
次の例外が発生します。
キャッチされない例外 'NSInvalidArgumentException'、理由: 'サポートされていない述語 ALL teamMembers.person IN { (エンティティ: Person; id: 0x1334470 ; データ: {
理想的には、IN だけでなく、正確に一致させたいと考えています。
どんな助けでも大歓迎です