を使用して対多の関係をフィルタリングI持っている私のコアデータモデルでは、次の2つのエンティティ:コアデータ - 述語
Manufacturer.manufactures <------>> Product.manufacturedBy
I:
Manufacture {name, ...other attributes}
Product {name, .... other attributes}
私が持っている設定一対多の関係検索文字列に一致する製造元に属するすべての商品を返す述語を作成しようとしています。例えば。 2つのメーカー、 "King Nut"、 "Queen Nut"がある場合、 "Nut"の検索では、King NutとQueen Nutの両方で製作された製品がすべて返されます。
私の述語は、フィルタがProductエンティティにあるときは完全に機能しますが、Manufacturerエンティティでフィルタリングするときには、どの述語も機能しません。結果セットは空です。
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Product" inManagedObjectContext:[GBKDB context]];
searchValue = @"nut";
NSString *wildcardString = [NSString stringWithFormat:@"*%@*", searchValue];
私は次のことを試してみました:
predicate = [NSPredicate predicateWithFormat:@"manufacturedBy.name CONTAINS[cd] %@",searchValue];
predicate = [NSPredicate predicateWithFormat:@"manufacturedBy.name like %@",wildcardString];
predicate = [NSPredicate predicateWithFormat:@"manufacturedBy.name matches %@",wildcardString];
predicate = [NSPredicate predicateWithFormat:@"ALL manufacturedBy.name like %@",wildcardString];
predicate = [NSPredicate predicateWithFormat:@"ALL manufacturedBy.name like[cd] %@",@wildcardString];
何を意味するのですか? 'Product'sを取得しようとすると、リクエストエンティティは' Product'でなければなりません –
はい。私のエンティティリクエストはProduct: –