如何处理coredata中的关系

时间:2016-05-30 09:48:44

标签: ios core-data

大家好,我们假设我有一个获取类别及其ID的API

let category = ["Armchairs", "Sofas", "Office", "Chairs", "Tables", "Lamps", "Spare Parts"]
let categoryId = [24,23,25,26,27,28,42]

以及扶手椅的示例子类别,ID为 24 (对类别表进行查询并获取所有子类别,其中parent_id = 24)< / em>的

let subCat = ["New","Hot", "Used"]
let subCatId = [89,90,91]

所以对于第1项

  

id:100,name:Armchair Item,categ_id:89

如何为此创建coredata模型,当我查询其父类别(24)时,它会找到其子类别中的所有项目?

这是我的coredata

enter image description here

附加问题:我的coredata结构是否合适?我应该放一个sub_categ_id字段吗?

1 个答案:

答案 0 :(得分:1)

您需要先建立关系。类别和子类别。从我的观点来看,它是多对多的。并且您还需要在子类别中拥有ParentId。

因此,当您查询ex:getAllItemsByParentId:24时,将加载所有New,Old,Used项目。

您可以像这样创建表格。

enter image description here

已更新:

所以我建立了这样的关系。

enter image description here

你也可以在Category表中看到mainId。当您将项目插入类别表时,mainId也将被插入。所以你只需要查询id id。例如:所有对象都有mainId = 24。我希望你明白这个主意。