首页 > 后端开发 > Golang > 正文

如何使用 SQLX 正确地将嵌套结构扫描到 Go 结构中?

Barbara Streisand
发布: 2024-11-25 12:13:12
原创
713 人浏览过

How to Correctly Scan Nested Structs into Go Structs Using SQLX?

SQLX 嵌套结构扫描

尝试使用 SQLX 将查询结果扫描到嵌套结构时,了解正确的方法至关重要。

在提供的示例中,由于 Address 结构未正确嵌入到客户结构。为了解决这个问题,需要嵌入。

嵌入结构

嵌入结构允许访问嵌入字段,而不需要使用嵌入类型的名称作为前缀。这简化了字段访问,并确保在扫描查询结果时正确填充嵌入结构中的字段。

type Customer struct {
    Id        int
    Name      string
    Address   // Embedded struct without tags
}

type Address struct {
    Street string  `db:"street"`
    City   string  `db:"city"`
}
登录后复制

更新的查询

通过嵌入 Address 结构,SQLX 将自动从根据数据库标签查询结果到适当的字段。

customer := models.Customer{}
err := db.Get(&customer, `select * from users where>
登录后复制

JSON编组

请注意,嵌入 Address 结构会展平 JSON 输出,删除嵌套的地址对象。要维护嵌套结构,请考虑使用类型转换将字段映射回原始结构。

以上是如何使用 SQLX 正确地将嵌套结构扫描到 Go 结构中?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板