【发布时间】:2020-10-20 18:30:57
【问题描述】:
我在 GORM 中定义了两个模型用户和地址: 文件 user.go
type User struct {
gorm.Model
Identity string `json:"identity"`
Password string `json:"password"`
Address Address
AddressID int
}
type Address struct {
gorm.Model
Street string `json:"street"`
StreetNumber string `json:"streetnumber"`
}
在 main.go 文件中,我启动数据库,自动迁移并希望将测试用户添加到数据库:
database.InitDatabase()
database.DBConn.AutoMigrate(&user.User{})
database.DBConn.AutoMigrate(&user.Address{})
userRec := &user.User{ Identity: "John Wayne", Password: "mysecretpassword", Address: user.Address{Street: "Teststreet", StreetNumber: "1"}}
database.DBConn.Create(userRec)
创建了用户和地址,但是,地址与用户没有关联,只是 出现空的地址字段。我忘记了什么?
如果您的实体中有关联(使用嵌套模型),这是设置测试条目的正常方式吗?
【问题讨论】:
-
地址与用户没有关联,只是空的地址字段出现 数据库中没有设置地址ID?
-
@Eklavya 是的,用户条目中的 AddressID 设置为默认值(此处为 0)。为什么它不与生成的地址条目相关联?
标签: go associations go-gorm