首頁  >  文章  >  後端開發  >  儘管模型關係看似正確,為什麼 Gorm 會拋出外鍵錯誤?

儘管模型關係看似正確,為什麼 Gorm 會拋出外鍵錯誤?

Susan Sarandon
Susan Sarandon原創
2024-11-22 12:24:15178瀏覽

Why Does Gorm Throw a Foreign Key Error Despite Seemingly Correct Model Relationships?

Gorm 關係中的外鍵錯誤

嘗試使用Gorm 從資料庫擷取模型時,出現錯誤訊息:「無效欄位找到struct models .ConfigurationDescription 的欄位Location,需要為關係定義有效的外鍵,或需要實作Valuer/Scanner介面。

給定的資料模型定義了 ConfigurationDescription 和 LocationDescription 之間的「屬於」關係。但是,ConfigurationDescription 結構中的外鍵標記和引用標記似乎顛倒了。

在 Belongs-To 關係模式中,foreignKey 標記應命名連接到外部實體的模型本地鍵字段,而引用標籤應命名外部實體的主鍵或唯一鍵。

要解決此問題,ConfigurationDescription 結構中的標籤應交換為如下:

type ConfigurationDescription struct {
    ID         int                 `json:"configurationID"`
    Name       string              `json:"name"`
    IsActive   bool                `json:"isActive"`
    LocationID int                 `json:"-"`
    Location   LocationDescription `json:"location,omitempty" gorm:"foreignKey:ID;references:LocationID"`
}

修正這些標籤後,Gorm 應該可以正確識別兩個模型之間的關係並成功檢索數據,而不會遇到外鍵錯誤。

以上是儘管模型關係看似正確,為什麼 Gorm 會拋出外鍵錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn