gpt4 book ai didi

ios - SharkORM - 如何解析连接结果

转载 作者:行者123 更新时间:2023-11-29 00:17:17 24 4
gpt4 key购买 nike

我正在尝试使用 SharkORM 来获取我的对象之间的关系。我熟悉 joinTo syntax在 SharkORM 的文档中定义,但我不确定如何使用生成的 joinedResults 对象来获取我需要的相关对象。

[[Person query] joinTo:[Department class] leftParameter:@"department" targetParameter:@"Id"]

输出

{
"Department.Id" = 61;
"Department.location" = 35;
"Department.name" = Development;
}

进入 Person.joinedResults 字段,但我如何获取这些结果并取回 Department 对象。我试过在 joinTo 之后调用 person.department,但它似乎对数据库进行了第二次查询,就好像我根本没有使用过 joinTo 一样。

我真的需要手动将 person.joinedResults 的字典结果解析为 Department 对象吗?这非常麻烦,尤其是当您开始加入多个关系时。

我觉得好像缺少一些明显的方法来使用 joinTo 的结果。

最佳答案

加入功能是对关系的补充。因此,您可以在查询中引用不相关(或相关)的表,但您返回的对象只能按照您的原始类进行物理结构化,并且是根据数据而非查询定义的。

所以,简而言之; joinTo:将使您能够在查询中引用远程或不相关的对象以供选择。

但是要遍历对象关系,您将使用属性。

Person* p = GetFirstPerson()
// reference/traverse the object to look at relationships (1:1)
p.department

p.department.location

所以我想我的意思是,尽管它是类似 SQL 的语法,但除非使用其他接口(interface)(例如 sum、distinct 等),否则您最终只能在固定结构中严格定义类。

关于ios - SharkORM - 如何解析连接结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45015228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com