在 golang 的 gorm 中,可以通过 ForeignKey
方法设置外键,并且使用 OneToOne
方法实现一对一映射。
下面是一个示例:
type User struct {
ID uint
Name string
AddressId uint
Address Address `gorm:"ForeignKey:AddressId;one2one:address"`
}
type Address struct {
ID uint
Street 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
字段。
希望这可以帮到你!