【问题标题】:CoreData NSPredicate with more than one NSSet具有多个 NSSet 的 CoreData NSPredicate
【发布时间】:2015-04-15 17:25:01
【问题描述】:

目前我尝试将以下 SQL 查询转换为 NSPredicate:

SELECT name FROM person WHERE tournament='x' AND rankingID = (SELECT id FROM ranking WHERE place=1 AND round='final');

Ranking 是 Person 中的 NSSet。 我曾这样尝试过:

NSPredicate(format: "tournament = %@ AND ANY rankings.place = 1 AND ANY rankings.round = 'final'", selectedTournament!)

但这不符合我的要求。 :(

【问题讨论】:

  • 排名是一对多的关系吗?并且该关系中匹配的任何事物的逻辑都是有效的(它是什么都没关系)?
  • 人与排名是一对多的关系,人与锦标赛是一对一的关系

标签: core-data nspredicate nsset


【解决方案1】:

好的,我想我做到了,这是我的解决方案:

NSPredicate(format: "tournament = %@ AND SUBQUERY(rankings, $ranking, $ranking.place = 1 AND $ranking.round = 'final').@count > 0", selectedTournament!)

【讨论】:

    猜你喜欢
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    相关资源
    最近更新 更多