【发布时间】:2013-10-03 09:38:04
【问题描述】:
我有两个通过多对多关系关联的实体:
Database <<----->> Category
也就是说,一个数据库可以有很多类别,一个类别可以关联很多数据库。
我需要一个NSPredicate,它将返回与给定数据库对象关联的所有类别对象。任何帮助将不胜感激。
【问题讨论】:
标签: core-data nspredicate
我有两个通过多对多关系关联的实体:
Database <<----->> Category
也就是说,一个数据库可以有很多类别,一个类别可以关联很多数据库。
我需要一个NSPredicate,它将返回与给定数据库对象关联的所有类别对象。任何帮助将不胜感激。
【问题讨论】:
标签: core-data nspredicate
您不需要谓词。假设您有一个名为 categories 的关系,它是与您的 Category 实体的一对多关系,那么
NSSet *categoriesForDatabase = database.categories;
如果你真的想使用谓词,那么它会是:
[NSPredicate predicateWithFormat:@"ANY databases = %@", database];
其中“databases”是 Category 实体上的多对多关系的名称,database 是 Database 实体的一个实例。
【讨论】:
您想将集合(所有 Category 对象)与给定对象进行比较,您可以尝试这样的操作:
[NSPredicate predicateWithFormat:@"ANY categories = %@", category];
或
[NSPredicate predicateWithFormat:@"ANY databases = %@", database];
【讨论】: