首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取具有两个一对多关系的实体的NSPredicate

获取具有两个一对多关系的实体的NSPredicate
EN

Stack Overflow用户
提问于 2014-05-08 11:48:10
回答 1查看 241关注 0票数 1

我有三个独立的实体,(r是关系):

1) 货币

名字

_

国家(r1对多)

2) 国家

名字

_

货币(r)

交换(r1对多)

3) 交换

名字

_

国家(r)

货币与国家之间的关系是一对多的。

国与国之间的关系是一对多的。

我需要加载我的NSFetchedResultsController的所有货币(没有副本),在国家有至少一个交易所。

示例:

货币:欧元,美元,英镑,泰矿(不存在!)

国家:法国、德国、意大利、美国、联合王国

交易所:泛欧交易所(法国,欧元),Xetra (德国,欧元),米兰证券交易所(意大利,欧元),伦敦证券交易所(联合王国,英镑)

预期结果是:英镑、欧元、美元

我试过这样的方法,但没有用:

代码语言:javascript
复制
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Currency"];
request.predicate = [NSPredicate predicateWithFormat: @"countries.exchanges.@count > 0"];

代码崩溃的原因是:“NSInvalidArgumentException”,原因:“不支持的函数表达式计数:(countries.exchanges)”

我应该使用的NSPredicate是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-08 12:17:20

问题是嵌套到多个关系,这需要使用SUBQUERY:

代码语言:javascript
复制
[NSPredicate predicateWithFormat:@"SUBQUERY(countries, $c, ANY $c.exchanges != NULL).@count > 0"]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23540867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档