package mainimport (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
)// UserInfo 用户信息type User struct {
gorm.Model
Name string
ProfileID int
}// `Profile` 属于 `User`, 外键是`UserID`
type Profile struct {
gorm.Model
User[]User
Namestring
}func main() {
db, err := gorm.Open("mysql","root:root@tcp(127.0.0.1:3306)/virus crawler?charset=utf8mb4")
if err != nil {
panic(err)
}
defer db.Close() // 自动迁移
db.AutoMigrate(&User{})
db.AutoMigrate(&Profile{}) u1:=[]User{{Name:"你好"},{Name:"你好2"}}
u2:=Profile{Name:"你好",User:u1} u3:=[]User{{Name:"你好1"},{Name:"你好2"}}
u4:=Profile{Name:"你好1",User:u3} uu:=User{Name:"你好"}
uu1:=User{Name:"你好0"}
// 创建记录
db.Create(&uu)
db.Create(&uu1) db.Create(&u2)
db.Create(&u4)
}
【gorm外键不显示】
文章图片
没看懂官方文档的小伙伴,你的注意力是不都在模型上了,没有将(例如一对多)
的多,添加到一中啊。如果没有添加就是0了,表示独立添加了就有外键id了。
推荐阅读
- Go|Docker后端部署详解(Go+Nginx)
- GO|GO,GO,GO!
- Go成长之路|go中判断空字符串、nil和len(t)的用法
- go编译tools
- go grpc安装与使用
- goroutine 调度原理
- Go|Go进阶之路——复杂类型
- Go进阶之路——变量
- Go进阶之路——流程控制语句