我的coredata中有目录和类别实体
他们有多对多的关系
我想获取字段categoryStatus =“active”并参与catalogue.categories的特定类别
什么是正确的谓词?
或没有提取> catalogue.categories categoryStatus = @“active”
c#equivelant of aCatalogue.categories.Where(c => c.categoryStatus ==“active”)
-(NSArray *) CategoryGetListWhereStatusActive4Catalogue:aCatalogue2DisplayCategories
{
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Category" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"([catalogues containsObject:%@) AND (categoryStatus == %@)" , aCatalogue2DisplayCategories, @"active"];
[fetchRequest setPredicate:predicate];
return [self performFetch:fetchRequest withContextObject:context];
}
答案 0 :(得分:0)
这样的东西?
[NSPredicate predicateWithFormat:@"(ANY catalogues == %@) AND (categoryStatus == %@)",
aCatalogue, @"active"]
答案 1 :(得分:0)
我认为这应该有效:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(SUBQUERY(catalogues, $catalogues, $catalogues == %@).@count>0) AND (categoryStatus == %@)" , aCatalogue2DisplayCategories, @"active"];
或
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(ANY catalogues = %@) AND (categoryStatus == %@)" , aCatalogue2DisplayCategories, @"active"];