Skip to main content

Belongs To

Belongs To 会与另一个模型建立“一对一”的连接。这种模型的每一个实例都“属于”另一个模型的一个实例。

例如,您的应用包含 user 和 company,并且每个 user 分配给一个 company。

type User struct {
gorm.Model
Name string
CompanyID int
Company Company
}

type Company struct {
ID int
Name string
}

外键

默认情况下,Belongs To 关系使用所有者类型的名称加上其主键作为外键名称。例如,上面的 User 模型,其外键默认为 CompanyID

重写外键

type User struct {
gorm.Model
Name string
CompanyRefer int
Company Company `gorm:"foreignKey:CompanyRefer"`
// 使用 CompanyRefer 作为外键
}

type Company struct {
ID int
Name string
}

重写引用

type User struct {
gorm.Model
Name string
CompanyID int
Company Company `gorm:"references:Code"` // 使用 Code 作为引用
}

type Company struct {
ID int
Code string
Name string
}