请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

gorm外键

老师你好,在gorm官方文档中我没有找到关于外键的描述,有些不理解,

type MiddleType struct {
	ID             int64           `gorm:"primary_key;not_null;auto_increment" json:"id"`
	MiddleTypeName string          `json:"middle_type_name"`
	MiddleVersion  []MiddleVersion `gorm:"foreign_key:MiddleTypeID" json:"middle_version"` 
}

type MiddleVersion struct {
	ID                       int64  `gorm:"primary_key;not_null;auto_increment" json:"id"`
	MiddleTypeID             int64  `json:"middle_type_id"`
	MiddleDockerImage        string `json:"middle_docker_image"`
	MiddleDockerImageVersion string `json:"middle_docker_image_version"`
}

这里有两个结构体,也是两张表,那么外键存在于哪个结构体中,参考了哪个表的主键

正在回答

1回答

Cap 2023-04-01 10:49:28

两个结构体分别对应两张表,它们之间的关系是:一个 MiddleType 可以有多个 MiddleVersion。这里的外键关系定义在 MiddleVersion 结构体中。

具体来说,MiddleVersion 结构体中的 MiddleTypeID 字段是外键,它引用了 MiddleType 结构体(对应的表)中的主键 ID。这个关系通过 MiddleType 结构体中的 MiddleVersion 字段上的 gorm:"foreign_key:MiddleTypeID" 标签定义。这个标签告诉 GORM,MiddleType 结构体中的 MiddleVersion 字段与 MiddleVersion 结构体中的 MiddleTypeID 字段之间存在外键关系。


1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号