在 golang 的 gorm 中,可以通过 ForeignKey 方法设置外键,并且使用 OneToOne 方法实现一对一映射。
下面是一个示例:
type User struct {ID uintName stringAddressId uintAddress Address `gorm:"ForeignKey:AddressId;one2one:address"`}type Address struct {ID uintStreet string}
在这个示例中,我们定义了两个结构体 User 和 Address。User 中有一个外键 AddressId,指向 Address 结构体的 ID 字段。同时,我们使用 ForeignKey 方法来设置这个外键。
另外,我们使用 one2one 标签来设置 Address 结构体和 User 结构体之间的一对一映射关系。
注意,我们需要在 Address 结构体中添加一个 gorm:"primaryKey" 标签来告诉 gorm 这个字段是主键。
最后,在代码中使用 gorm 的 AutoMigrate 方法来自动创建表格:
db.AutoMigrate(&User{}, &Address{})
这将会创建一个名为 users 的表格,其中包含 ID, Name, AddressId 字段以及一个名为 address 的外键,指向 addresses 表格中的 ID 字段。
希望这可以帮到你!




