对于这样一个关系:核心数据多到许多谓词
TagGroups < ---- >>标签< < ---- >>对象
对象具有标签,标签可以是按tagGroups分组。
我有一个对象,我想知道它的标签所属的所有TagGroups。
为了构建他断言,我第一次尝试如下格式的字符串:
(SELF是TagGroup)
NSPredicate* p = [NSPredicate predicateWithFormat:@"%@ IN SELF.tags.objects" , object];
因为集不会运行ALA钥匙ValueCoding这种失败。
经过一番研究,我发现几个问题解释SUBQUERY
Core data to-many NSPredicate with AND
这似乎是解决方案的一部分,但与这些问题我没有测试像一个值“ tag.name“,但是是集合中的成员资格。
所以考虑到这一点我想这:
NSPredicate* p = [NSPredicate predicateWithFormat:@"%@ IN SUBQUERY(SELF.tags, $eachTag,$eachTag.object)" , object];
从而未能解析(我尝试了一些其他的变种失败以及)
如何正确地构建这种格式字符串中的任何想法?
更新:
还试图从另一个方向:
NSPredicate* p = [NSPredicate predicateWithFormat:@"ALL SUBQUERY(%@.tags,$eachTag,$eachTag.tagGroup)" , anObject];
如果CoreData能够将SUBQUERY表达式转换为SQL语句,我会感到非常惊讶。虽然我可能是错的。 – 2011-02-25 18:42:50
直到我开始挖掘使用NSFR获取多对多关系的信息时,我才意识到这一点。 – 2011-04-14 15:18:46