0

在使用 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 / ?

在此先感谢,我很抱歉英语不好,希望问题很清楚!

4

0 回答 0