为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 GORM 存储嵌入式结构?

如何使用 GORM 存储嵌入式结构?

Go
holdtom 2021-09-13 16:36:53
如果我有这样的类型,如何使用 GORM 存储嵌入式结构type A struct {    point GeoPoint}type GeoPoint struct {    Lat float64    Lon float64}GORM 尝试将其添加到新表中,但我想将其添加为另一个字段。如何才能做到这一点?
查看完整描述

3 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

你可以试试:


   type A struct {

    point GeoPoint `gorm:"embedded"`


查看完整回答
反对 回复 2021-09-13
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

对于任何正在寻找将 struct 放入 GORM 模型并使其自动编组和解组的方法的人。


此解决方案基于chris的回答。它有效!


例如,我想将 Childrens 数组作为编组 JSON 放入 Parent 中:


type Child struct {

    Lat float64

    Lng float64

}


type ChildArray []Children


func (sla *ChildArray) Scan(src interface{}) error {

    return json.Unmarshal(src.([]byte), &sla)

}


func (sla ChildArray) Value() (driver.Value, error) {

    val, err := json.Marshal(sla)

    return string(val), err

}


type Parent struct {

    *gorm.Model    

    Childrens ChildArray `gorm:"column:childrens;type:longtext"`

}


查看完整回答
反对 回复 2021-09-13
  • 3 回答
  • 0 关注
  • 241 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信