MagicalRecord 获取关系 id 为 x 的一对多关系中的所有实体

Posted

技术标签:

【中文标题】MagicalRecord 获取关系 id 为 x 的一对多关系中的所有实体【英文标题】:MagicalRecord get all entities from one to many relationship where relationship id is x 【发布时间】:2015-12-07 22:02:24 【问题描述】:

假设我有一个名为 Message 的实体和一个名为 Group 的实体。每个组可以有许多消息(一对多关系)。 如何使用 MagicalRecord 获取群组的所有消息,而无需先加载群组?

NSArray *entities = [消息 MR_findAllSortedBy:@"groupID:x" 升序:NO];

我想只是在消息中添加一个属性groupID,但这似乎很错误......(因为显然关系是以其他方式保存在我的数据库中)

【问题讨论】:

【参考方案1】:

大概是这样的:

NSArray *messagesInGroup = [Message MR_findAllSortedBy:@"group.groupID" ascending:NO]

sortedBy 参数只是转换为[NSSortDescriptor sortDescriptorWithKey:ascending:] 方法。根据文档,第一个参数是 keyPath,所以只要它有效(即存在),它就会为您工作。

【讨论】:

以上是关于MagicalRecord 获取关系 id 为 x 的一对多关系中的所有实体的主要内容,如果未能解决你的问题,请参考以下文章

MagicalRecord findByAttribute 返回反向关系文档问题

处理 MagicalRecord 中的 saveWithBlock 和关系时出错

多态关系的 MagicalRecord 导入

MagicalRecord:修改相关对象的属性

Magical Record 关系返回空对象

iOS MagicalRecord:加入