在我的应用中,我有两个实体Items
和Lists
。每个项目只属于一个列表,每个列表都有很多项目。因此,在模态中,实体具有以下关系:
Items
:to-one关系(belongs_to_list
)Lists
:to-many关系(has_items
)如何使用谓词获取项目以检查与其相关的列表是否等于我提供的特定列表?我不想通过列表获取项目(比如获取has_items
的对象)。我希望能够在谓词中使用belongs_to_list
来将其与我拥有的托管对象进行比较。我试过以下但是没有用。有什么帮助吗?
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Items" inManagedObjectContext:_managedObjectContext];
[fetchRequest setEntity:entity];
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"item_detail" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"list.list_name == %@", [self.currentList valueForKey:@"list_name"]];
[fetchRequest setPredicate:predicate];
答案 0 :(得分:1)
如果我理解你的问题,以下谓词是正确的:
[NSPredicate predicateWithFormat:@"belongs_to_list == %@", [self currentList]];
如果这对你有用,请告诉我。