【问题标题】:Gorm one to one relation ship 2 foreignkeys refering one go model?Gorm 一对一关系 2 个外键引用单向模型?
【发布时间】:2021-10-13 05:32:00
【问题描述】:
接收器 uint gorm:"not null",json:"receiver"
发件人单位 gorm:"not null",json:"sender"
User User `gorm:"foreignKey:Receiver,Sender"
我的模型像这样丢失,当我通过错误迁移它时,发送者和接收者指的是用户模型我该如何解决这个问题
【问题讨论】:
标签:
postgresql
go
orm
foreign-keys
go-gorm
【解决方案1】:
据我了解您的问题,您有一个具有用户引用的对象。然后是指这个用户的接收者和发送者。由于两者似乎都指向同一个用户,因此没有必要。我猜您正在尝试创建这样的对象:
type Obj struct {
Receiver uint
ReceiverUser User `gorm:"foreignKey:Receiver"`
Sender uint
SenderUser User `gorm:"foreignKey:Sender"`
}
【解决方案2】:
创建不同的关系船关系应该是唯一的上面的答案应该有效并使用id作为参考创建fk_reciver ans fk_sender belongs_to关系船像这样使用它
type Model struct {
Receiver uint
ReceiverUser User gorm:"foreignKey:Receiver"
Sender uint
SenderUser User gorm:"foreignKey:Sender"
}