我有一个核心数据模型,如下所示:
一个ServiceProvider
实体可以有许多Service
实体(一对多关系)。每个服务都有一个type
属性。
如何使用实体的type
属性Service
来搜索ServiceProviders
具有该类型的服务?
下面是我目前拥有的适用于单一服务关系的示例。如何修改以下谓词以适用于多种服务?
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSManagedObjectContext* context = [HealthDataManager sharedInstance].managedObjectContext;
NSEntityDescription *entity = [NSEntityDescription entityForName:@"ServiceProvider" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"self.service.type == %i",type]];
NSArray* results = [context executeFetchRequest:fetchRequest error:nil];
if(results.count>0)
{
for(ServiceProvider* provider in results)
{
DLog(@"found provider: %@", [provider description ]);
}
return [results lastObject];
}else{
DLog(@"Creating provider" );
}