Heim >Backend-Entwicklung >Golang >Gorm-Beziehungsfehler: Wie behebt man die Notwendigkeit, einen gültigen Fremdschlüssel für Beziehungen zu definieren?

Gorm-Beziehungsfehler: Wie behebt man die Notwendigkeit, einen gültigen Fremdschlüssel für Beziehungen zu definieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-08 15:29:11347Durchsuche

Gorm Relationship Error: How to Fix

Diagnose und Lösung von Gorm-Beziehungsfehlern

Beim Zugriff auf eine Gorm-Datenbank kann es zu einer Fehlermeldung kommen, die besagt: „Es muss eine gültige Fremdsprache definiert werden.“ Schlüssel für Beziehungen oder es muss die Valuer/Scanner-Schnittstelle implementiert werden. Dieses Problem tritt auf, wenn die Fremdschlüsselbeziehungen zwischen Datenmodellen und den entsprechenden Datenbanktabellen nicht übereinstimmen.

In Ihrem Fall tritt der Fehler für die Beziehung zwischen ConfigurationDescription und LocationDescription auf. Das Feld „Location“ in „ConfigurationDescription“ scheint korrekt deklariert zu sein, wobei die Attribute „foreignKey“ und „references“ festgelegt sind. Bei näherer Betrachtung wird jedoch klar, dass die Tags umgekehrt sind.

Für ein Belongs-To-Beziehungsmuster sollte das ForeignKey-Attribut das modelllokale Schlüsselfeld benennen, das mit der fremden Entität verknüpft ist, und die Referenzen Das Attribut sollte den primären oder eindeutigen Schlüssel der fremden Entität benennen. In diesem Fall sollte der ForeignKey LocationID sein und die Referenzen sollten ID sein.

Um das Problem zu beheben, ändern Sie die ConfigurationDescription-Struktur wie folgt:

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

Mit diesen Anpassungen wird der Foreign Die Schlüsselbeziehung zwischen ConfigurationDescription und LocationDescription sollte korrekt hergestellt werden, damit Gorm die Daten wie erwartet laden kann.

Das obige ist der detaillierte Inhalt vonGorm-Beziehungsfehler: Wie behebt man die Notwendigkeit, einen gültigen Fremdschlüssel für Beziehungen zu definieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn