Heim > Backend-Entwicklung > Golang > Wie erstelle ich Fremdschlüsselbeziehungen in GORM (vor und nach Version 2.0)?

Wie erstelle ich Fremdschlüsselbeziehungen in GORM (vor und nach Version 2.0)?

Linda Hamilton
Freigeben: 2024-12-01 12:41:15
Original
818 Leute haben es durchsucht

How to Create Foreign Key Relationships in GORM (Before and After Version 2.0)?

Erstellen von Fremdschlüsseln mit GORM

Das Erstellen von Fremdschlüsselbeziehungen in GORM umfasst die Angabe des Assoziationsfremdschlüssels, der den Fremdschlüssel im Sekundärschlüssel verknüpft Modell dem spezifischen Feld in der Primärdatei zuordnen Modell.

Problem:

Im gegebenen Szenario sollen die Modelle User und UserInfo eine Fremdschlüsselbeziehung haben, wobei die UID in UserInfo auf das ID-Feld in verweist Benutzer. Der Codeversuch, diese Fremdschlüsselzuordnungen zu erstellen, scheint jedoch erfolglos zu sein.

Lösung:

Um die Fremdschlüsselbeziehung herzustellen, können Sie AddForeignKey von GORM verwenden Methode:

db.Model(&models.UserInfo{}).AddForeignKey("u_id", "t_user(id)", "RESTRICT", "RESTRICT")
Nach dem Login kopieren

Erklärung:

  • Das erste Argument, „u_id“, stellt das Fremdschlüsselfeld im sekundären Modell (UserInfo) dar.
  • Das zweite Argument, „t_user(id)“, gibt die Tabelle und das Feld im Primärmodell (Benutzer) an.
  • Das dritte und vierte Argumente, „RESTRICT“, definieren das Verhalten, wenn der Primärschlüssel aktualisiert oder gelöscht wird. In diesem Fall wird der Betrieb eingeschränkt.

Hinweis:

Diese Lösung gilt für GORM-Versionen vor 2.0. Für GORM 2.0 und höher werden beim Definieren der Beziehung automatisch Fremdschlüsseleinschränkungen hinzugefügt.

Das obige ist der detaillierte Inhalt vonWie erstelle ich Fremdschlüsselbeziehungen in GORM (vor und nach Version 2.0)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage