我有三个独立的实体,(r是关系):
1) 货币
名字
_
国家(r1对多)
2) 国家
名字
_
货币(r)
交换(r1对多)
3) 交换
名字
_
国家(r)
货币与国家之间的关系是一对多的。
国与国之间的关系是一对多的。
我需要加载我的NSFetchedResultsController的所有货币(没有副本),在国家有至少一个交易所。
示例:
货币:欧元,美元,英镑,泰矿(不存在!)
国家:法国、德国、意大利、美国、联合王国
交易所:泛欧交易所(法国,欧元),Xetra (德国,欧元),米兰证券交易所(意大利,欧元),伦敦证券交易所(联合王国,英镑)
预期结果是:英镑、欧元、美元
我试过这样的方法,但没有用:
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Currency"];
request.predicate = [NSPredicate predicateWithFormat: @"countries.exchanges.@count > 0"];代码崩溃的原因是:“NSInvalidArgumentException”,原因:“不支持的函数表达式计数:(countries.exchanges)”
我应该使用的NSPredicate是什么?
发布于 2014-05-08 12:17:20
问题是嵌套到多个关系,这需要使用SUBQUERY:
[NSPredicate predicateWithFormat:@"SUBQUERY(countries, $c, ANY $c.exchanges != NULL).@count > 0"]https://stackoverflow.com/questions/23540867
复制相似问题