今天我将给大家带来一篇《协会不处理测试条目》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!
问题内容
我在 gORM 中定义了两个模型 user 和 address: 文件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)
用户和地址都被创建,但是,地址与用户无关,只是 出现空地址字段。我忘记了什么?
如果您的实体中有关联(具有嵌套模型),这是设置测试条目的正常方法吗?
解决方案
尝试使用“address_id”字段作为 foreignkey。
例如
type User struct {
gorm.Model
Identity string `json:"identity"`
Password string `json:"password"`
Address Address `gorm:"foreignKey:address_id;association_autoupdate:false"`
AddressID uint `json:"address_id"`
}
Online documentation
也许会有帮助。
今天关于《协会不处理测试条目》的内容介绍就到此结束,如果有什么疑问或者建议。