使用 GORM 设置外键关联,需要在 A 表的结构体中定义一个 B 表的对象,并在该对象上使用 gorm:"foreignkey:xxx" 标签来指定外键名称。
例如,如果 A 表和 B 表是一对多关系(即一个 A 对象可以关联多个 B 对象),那么可以在 A 表的结构体中定义一个类型为 []B 的切片字段,并在该字段上使用如下标签:
type A struct {
ID int
Bs []B `gorm:"foreignkey:AID"`
}
type B struct {
ID int
AID int // 外键
...
}
这样,就可以通过 A 表的对象,获取到关联的所有 B 表记录。
例如,假设已经创建了一个 A 表的对象 a,我们可以通过以下方式获取所有关联的 B 表记录:
var bs []B
db.Model(&a).Association("Bs").Find(&bs)
其中,Association("Bs") 方法用于获取 A 表对象关联的 B 表记录集合,Find(&bs) 方法用于将查询结果存储到 bs 切片中。




