我有以下核心数据模型:
用户具有属性 username(string) 和 user_id(integer)。
ContactStatus 具有 first_user_id(integer)、second_user_id(integer) 和 status(字符串,可以是“1REQ”、“2REQ”或“CONF”)。
我想获取一个给定用户的联系人列表,其 user_id 为 u_id,等效的 SQL 将是:
SELECT first_user_id,second_user_id FROM ContactStatuses WHERE (first_user_id == u_id OR second_user_id == u_id) AND status == 'CONF'
或者有没有更好的方法在 Core Data 中组织我的数据?这是它在我的 MySQL 数据库中的组织方式。
编辑:
我的服务器上有一个 MySQL 数据库,在 php/sql 中,如果我想返回用户联系人列表,我会使用上面的查询。当我将此信息(以 JSON 格式)下载到我的 iOS 应用程序时,我想将这些用户的信息存储在托管对象上下文中。然后,当我想向用户显示联系人列表时,我想使用类似于上述 SQL 语句的获取请求来查询托管对象上下文。问题是我不知道如何使用来自不同实体(contactstatus 实体)的谓词来过滤用户。