我的程序有一个带有两个相关表的sqlite数据库。一个名为“Rank”,另一个名为“Requirement”
我想从“需求”表中获取与“排名”表中的特定行有关系的所有行。以下是我的代码,它抓取整个表,但我只根据上面提到的规则得到指定的行。
-(NSArray *) getAllRequirementsForTheRank:(Rank *) rank
{
NSError *error;
NSFetchRequest *fetchRequest = [[[NSFetchRequest alloc] init]autorelease];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Requirement" inManagedObjectContext:self.context];
[fetchRequest setEntity:entity];
NSPredicate *searchType = [NSPredicate predicateWithFormat:@"Rank = %@", rank];
[fetchRequest setPredicate:searchType];
NSArray *scoutRequirementArray = [self.context executeFetchRequest:fetchRequest error:&error];
for (Requirement *r in scoutRequirementArray)
{
NSLog(@"Requirementttt : %@ :", r.requirementName);
}
return scoutRequirementArray;
}
答案 0 :(得分:1)
如果您在核心数据中建模关系,只需从关系属性中获取链接对象。您不需要其他获取请求。 rank.requirements
将为您提供所需的一切NSSet。 (我在这里假设您的对象和属性的名称)。