我有2个表,它们之间是多对多的关系。
SQL等价物不存在,因为它要求第三个表将多对多关系拆分为两个一对多关系。
例如,我有两个核心数据实体:带有属性的类别(项目数组)和带有属性的项目(类别数组)。
我需要获取除“空”类别之外的所有类别(当没有此类别的项目时)。
我当前的临时解决方案看起来不正确。我使用NSFetchRequest来获取所有类别。然后我使用for-each从这个数组中删除所有带有空项目数组的类别。
答案 0 :(得分:1)
为了获得除了空类别之外的所有类别,你可以使用这样的谓词:
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Category"];
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"items.@count > 0"];
NSArray *categories = [context executeFetchRequest:fetchRequest error:NULL];
答案 1 :(得分:0)
我的解决方案:
[NSPredicate predicateWithFormat:@"ANY items != nil"]