猿问

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

如果我有这样的类型,如何使用 GORM 存储嵌入式结构


type A struct {

    point GeoPoint

}


type GeoPoint struct {

    Lat float64

    Lon float64

}

GORM 尝试将其添加到新表中,但我想将其添加为另一个字段。


如何才能做到这一点?


holdtom
浏览 242回答 3
3回答

婷婷同学_

你可以试试:   type A struct {    point GeoPoint `gorm:"embedded"`} 

qq_遁去的一_1

对于任何正在寻找将 struct 放入 GORM 模型并使其自动编组和解组的方法的人。此解决方案基于chris的回答。它有效!例如,我想将 Childrens 数组作为编组 JSON 放入 Parent 中:type Child struct {    Lat float64    Lng float64}type ChildArray []Childrenfunc (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"`}
随时随地看视频慕课网APP

相关分类

Go
我要回答