在使用 Core Data 的 xCode 项目中,我得到了两个实体:Article 和 ArticleMarket。它们是一对多的关系,一篇文章有 n 个文章市场。
我必须检索所有尊重这一点的文章NSPredicate
"SUBQUERY(markets, $m, " +
"$m.startVisibility <= /*TODAY*/ AND " +
"$m.sellDate <= /*TODAY*/ AND " +
"$m.outSellDate >= /*TODAY*/ AND " +
"$m.state = '1' AND " +
"$m.maxXOrder != 0" +
").@count > 0"
如果 Article 具有像关系这样的“市场”集合字段,这将起作用。问题是该字段是一个Fetched Property
:我无法建立关系,因为我必须将每个 ArticleMarket 链接到相应的文章,并且我有成千上万的文章。
因此,该谓词适用于关系,但不适用于提取的属性。它给了我这个错误:
Can't have a non-relationship collection element in a subquery
我坚持这一点:我可以将该谓词直接放入 Fetched 属性谓词中吗?结果是这样的:
$FETCH_SOURCE.id == articleId AND
startVisibility <= /*TODAY*/ AND
sellDate <= /*TODAY*/ AND
outSellDate >= /*TODAY*/ AND
state = '1' AND
maxXOrder != 0
好的,我放什么而不是 / TODAY / ?
在此先感谢,我很抱歉英语不好,希望问题很清楚!