В моей базовой модели данных у меня есть следующие два объекта:
Manufacture {name, ...other attributes}
Product {name, .... other attributes}
У меня есть отношение "От одного до большого":
Manufacturer.manufactures <------>> Product.manufacturedBy
Я пытаюсь создать предикат для возврата всех Продуктов, принадлежащих Производителям, которые соответствуют строке поиска. Например. если есть два производителя, "King Nut" и "Queen 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];