


Wie speichere ich eingebettete Strukturen in GORM in derselben Tabelle wie die übergeordnete Struktur?
Nov 03, 2024 am 06:08 AMEinbetten von Strukturen in GORM zur Datenspeicherung
In GORM kann der Umgang mit eingebetteten Strukturen eine Herausforderung sein, wenn Sie die verschachtelte Struktur darin speichern möchten die gleiche Tabelle wie die übergeordnete Struktur. Standardmäßig geht GORM von eingebetteten Strukturen als separate Einheiten aus und versucht, eine neue Tabelle für sie zu erstellen. Möglicherweise ziehen Sie es jedoch vor, die eingebettete Struktur als zusätzliches Feld in die Tabelle der übergeordneten Struktur aufzunehmen.
Lösung
Eine effektive Lösung besteht in der Implementierung von Scan() und Value ()-Methoden für einen benutzerdefinierten Typ, der das eingebettete Strukturarray darstellt. Mit diesen Methoden kann GORM die eingebettete Struktur in und aus JSON serialisieren und deserialisieren und so ein nahtloses Speichern und Abrufen ermöglichen.
Betrachten Sie zur Veranschaulichung das folgende Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Hier das benutzerdefinierte ChildArray Typ stellt das eingebettete Array von untergeordneten Strukturen dar. Es implementiert die Methoden Scan() und Value(), um die JSON-Serialisierung und -Deserialisierung zu handhaben.
Um das ChildArray in die Parent-Struktur einzubetten und zu speichern, können Sie das Modell wie folgt definieren:
1 2 3 4 |
|
Mit dieser Konfiguration erkennt GORM das Feld „Childrens“ als benutzerdefinierten Typ und serialisiert und deserialisiert die eingebetteten Child-Strukturen automatisch in und von JSON, wenn es mit der Datenbank interagiert.
Das obige ist der detaillierte Inhalt vonWie speichere ich eingebettete Strukturen in GORM in derselben Tabelle wie die übergeordnete Struktur?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?

Wie schreibe ich Dateien in Go Language bequem?
