gorm外键
来源:10-6 中间件类型type 和 version 创建

慕瓜9063200
2023-03-28
老师你好,在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回答
-
两个结构体分别对应两张表,它们之间的关系是:一个 MiddleType 可以有多个 MiddleVersion。这里的外键关系定义在 MiddleVersion 结构体中。
具体来说,MiddleVersion 结构体中的 MiddleTypeID 字段是外键,它引用了 MiddleType 结构体(对应的表)中的主键 ID。这个关系通过 MiddleType 结构体中的 MiddleVersion 字段上的 gorm:"foreign_key:MiddleTypeID" 标签定义。这个标签告诉 GORM,MiddleType 结构体中的 MiddleVersion 字段与 MiddleVersion 结构体中的 MiddleTypeID 字段之间存在外键关系。
10
相似问题