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>
请注意,嵌入 Address 结构会展平 JSON 输出,删除嵌套的地址对象。要维护嵌套结构,请考虑使用类型转换将字段映射回原始结构。
以上是如何使用 SQLX 正确地将嵌套结构扫描到 Go 结构中?的详细内容。更多信息请关注PHP中文网其他相关文章!