如果我有这样的类型,如何使用 GORM 存储嵌入式结构
type A struct {
point GeoPoint
}
type GeoPoint struct {
Lat float64
Lon float64
}
GORM 尝试将其添加到新表中,但我想将其添加为另一个字段。
如何做到这一点?
最佳答案
对于任何正在寻找将 struct 放入 GORM 模型并使其自动编码和解码的方法的人。
此解决方案基于 chris 的回答。它有效!
例如,我想将 Childs 数组放入 Parent 作为编码 JSON:
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"`
}
关于postgresql - 如何使用 GORM 存储嵌入式结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28503001/