Core data 仅从核心数据中检索连接的实体

Core data 仅从核心数据中检索连接的实体,core-data,xcode6,Core Data,Xcode6,我有一个电影放映时间实体,它与电影实体有一对一的关系。反向(电影->电影放映时间)关系是一对多关系。如果电影被删除,关联的电影放映时间也将被删除,但如果电影放映时间被删除,关联的电影将保留。(不确定其中有多少是相关的,但希望尽可能地澄清情况) 现在,有没有一种方法可以查询核心数据,只获取我有放映时间的独特电影 是否可以从电影放映时间中进行选择,并以某种方式将结果限制为仅关联的独特电影?或者从电影实体中进行选择是否只会返回电影放映时间实体中具有匹配行的电影?当然。无限制地对电影编写获取请求,您将获

我有一个电影放映时间实体,它与电影实体有一对一的关系。反向(电影->电影放映时间)关系是一对多关系。如果电影被删除,关联的电影放映时间也将被删除,但如果电影放映时间被删除,关联的电影将保留。(不确定其中有多少是相关的,但希望尽可能地澄清情况)

现在,有没有一种方法可以查询核心数据,只获取我有放映时间的独特电影


是否可以从电影放映时间中进行选择,并以某种方式将结果限制为仅关联的独特电影?或者从电影实体中进行选择是否只会返回电影放映时间实体中具有匹配行的电影?

当然。无限制地对电影编写获取请求,您将获得所有电影实例。

依次回答您的问题:

现在,有没有一种方法可以查询核心数据,只获取我有放映时间的独特电影

如果
showtimes
的计数大于零,可以使用谓词选择
movies

"showtimes.@count > 0"
是否可以从电影放映时间中进行选择,并以某种方式将结果限制为仅关联的独特电影

如果(感谢您的第一次查询)有一个
电影
的数组(比如
scheduledMovies
),其中包含
showtimes
,那么您可以使用如下谓词获取关联的
showtimes

 "movie IN %@", scheduledMovies
或者从电影实体中进行选择是否只会返回电影放映时间实体中具有匹配行的电影

如果您获取
电影
,那么您将获得所有
电影
,除非您根据第一个问题指定了谓词。但是,如果您获取
showtimes
,则可以使用带有键的键值编码来获取关联的
电影的数组

"@distinctUnionOfObjects.movie"

生成的阵列将不会有任何
电影
,也不会有
放映时间
。(此键的第一部分删除了所有重复项,因为一些
showtimes
可能有相同的
movie
)。

谢谢,尽管我只是在看那些showtimes反对他们的电影(如果我没有说清楚,很抱歉)。好的,最后,我编写了一个获取请求来拉入电影,谓词是必须有一个匹配的showtime实体,即!(ANY(showtime)=Nil)似乎起到了作用。这是最好的方法吗?