我正在尝试与Gorm建立一个简单的has_many
关联:一个人有很多宠物。
当我尝试保存Person
模型时,看到以下错误。
不受支持的类型[] model.Pet,结构的一部分
假定我要保存一个包含许多Person
的{{1}}。
Pets
然后我尝试创建这两个模型。
type Person struct {
UUID `gorm:"PRIMARY_KEY" json:"uuid"`
Pet []Pet `gorm:"foreignkey:PersonUUID:association_foreignkey:UUID"`
}
type Pet struct {
UUID `gorm:"PRIMARY_KEY" json:"uuid"`
PersonUUID string
}
然后我得到以下错误。
personUUID := "dcf4b3c6-d94c-4b2c-9d66-1cbaedd2cc44"
pets := []Pet{
Pet{
UUID: "..",
PersonUUID: personUUID,
}
}
person := Person{
UUID: personUUID,
Pet: Pet,
}
db.Where("uuid = ?", person.UUID).Update(&person)
知道为什么会这样吗?
答案 0 :(得分:0)
我发现只有在您使用Update
而不是Save
时才会发生。
这很奇怪,因为两者应该以相同的方式工作,除了Update
将尝试保存不同的字段,而Save
将用新值替换当前值。