0

我有 2 个表,它们之间通过多对多关系链接。

SQL 等效项不存在,因为它需要第三个表将多对多关系拆分为两个一对多关系。

例如,我有两个核心数据实体:具有属性的类别(项目数组)和具有属性的项目(类别数组)。

我需要获取除“空”类别之外的所有类别(当没有此类别的项目时)。

我目前的临时解决方案看起来不正确。我使用 NSFetchRequest 来获取所有类别。然后,我使用 for-each 手动从该数组中删除所有具有空项数组的类别。

4

2 回答 2

1

为了获取除空类别之外的所有类别,您可以使用如下谓词:

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Category"];    
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"items.@count > 0"];
NSArray *categories = [context executeFetchRequest:fetchRequest error:NULL];
于 2013-09-24T17:02:21.747 回答
0

我的解决方案:

[NSPredicate predicateWithFormat:@"ANY items != nil"]
于 2013-09-25T06:45:51.407 回答