属于(belongs to)关联建立与另一模型的一对一连接,使得声明模型的每个实例“属于”另一模型的一个实例。
例如,如果您的应用程序包含用户和配置文件,则每个配置文件只能分配给一个用户。
Profile 属于 User, User 是 Profile 的所有者。
定义模型:
type User struct {
gorm.Model
Name string
}
// Profile belongs to User, UserID is foreign key
// Profile 属于 User,UserID 是外键
type Profile struct {
gorm.Model
Name string
User User
UserID uint
}
profiles 表的 user_id 列是外键,它引用 users 表的 id 列。
外键
要定义属于关系,外键必须存在,默认外键 = 所有者(此处为 User)的类型 + 其主键。
对于上面的示例,要定义属于 User 的模型,外键应为 User + ID = UserID。
外键字段类型最好与它引用的字段类型一致,这里 Profile.UserID 的类型与 User.ID 的