我在為關(guān)系創(chuàng)建外鍵約束時遇到問題。Belongs to包含外鍵的結(jié)構(gòu):type Summary struct { Id string `gorm:"primaryKey"` OwnerId *string `gorm:"foreignKey:OwnerId references:Id;not null"` Title string}摘要所屬的結(jié)構(gòu):type Owner struct { Id string `gorm:"primaryKey"` Name string}它可以毫無問題地在 SQL 中創(chuàng)建表,但 SQL 架構(gòu)在列上的摘要表中不包含外鍵約束,因此當所有者不存在時,可以插入摘要。owner_id
2 回答

POPMUISE
TA貢獻1765條經(jīng)驗 獲得超5個贊
你用的是什么版本的 gorm?如果您位于庫的 v1 上,請嘗試切換到 v2。我在使用庫的 v1 時遇到了類似的問題。
v1 依賴項下載
go get -u github.com/jinzhu/gorm
v2 依賴項下載
go get -u gorm.io/gorm

幕布斯6054654
TA貢獻1876條經(jīng)驗 獲得超7個贊
在我看來,最終奏效但不是完美的解決方案是引用內(nèi)部的結(jié)構(gòu),如下所示:OwnerSummary
type Summary struct {
Id string `gorm:"primaryKey"`
OwnerId string
Owner Owner `gorm:"foreignKey:OwnerId"`
Title string
}
我想知道這是否是唯一的方法
- 2 回答
- 0 關(guān)注
- 115 瀏覽
添加回答
舉報
0/150
提交
取消