在我的应用程序中,我使用核心数据作为数据库管理器。这或多或少是我的数据库方案:
Table: Device(
id: String,
name: String,
specsId: String
);
Table: Specs(
specsId: String,
/**/
);
这两个表没有以任何方式连接。
我想要做的是,当我从 Device 表中查询一个设备时,然后根据匹配的 specsId 从 Specs 表中自动查询它的规格。
这样做的正确方法是什么?
谢谢,
Z
正确的方法是从 Device 表中删除“specsId”字段并创建与 Specs 表的关系,称为“spec”。
这样,一旦您拥有 Device 对象,您就可以使用...
myDeviceObject.spec.<property of spec>;
访问规范。
如果没有加入,您将不得不创建一个NSFetchRequest
来获取Device
您想要的对象,然后创建一个新NSFetchRequest
的来获取该Spec
对象Device
。
第二个 NSFetchRequest 将有一个谓词,例如...
@"specsId = %@", device.specsId