Heim > Backend-Entwicklung > Golang > Wie speichere ich mit PostgreSQL ein Array von Ganzzahlen als einzelnes Feld in einem Gorm-Modell?

Wie speichere ich mit PostgreSQL ein Array von Ganzzahlen als einzelnes Feld in einem Gorm-Modell?

Susan Sarandon
Freigeben: 2024-11-04 11:00:01
Original
1010 Leute haben es durchsucht

How to Store an Array of Integers as a Single Field in a Gorm Model Using PostgreSQL?

Hinzufügen eines Arrays von Ganzzahlen als Datentyp im Gorm-Modell

Beim Umgang mit Datenbankmodellen ist es oft notwendig, Arrays von Werten zu speichern . In Gorm, dem offiziellen ORM für Go, kann das Speichern eines Arrays von Ganzzahlen als einzelnes Feld in PostgreSQL eine Herausforderung sein.

Um dieses Problem zu beheben, bietet Gorm Unterstützung für die Verarbeitung von Arrays durch die Verwendung benutzerdefinierter Typen aus der zugrunde liegenden Bibliothek . Durch die Nutzung der pq-Bibliothek können Sie einen Array-Typ innerhalb Ihres Modells definieren.

Betrachten Sie beispielsweise das folgende aktualisierte Gorm-Modell:

<code class="go">type Game struct {
    gorm.Model
    GameCode    string
    GameName    string
    DeckType    pq.Int64Array `gorm:"type:integer[]"`
    GameEndDate string
}</code>
Nach dem Login kopieren

Hier ist DeckType als pq.Int64Array definiert , das ein Array von ganzen Zahlen darstellt. Das Tag gorm:"type:integer[]" gibt den PostgreSQL-Typ als Ganzzahl-Array an.

Um einen Datensatz mit einem Array von Ganzzahlen einzufügen, weisen Sie das Array einfach dem DeckType-Feld zu:

<code class="go">dt := []int64{1, 2, 3}

db.Create(&Game{GameCode: "xxx", GameName: "xxx", DeckType: pq.Int64Array(dt), GameEndDate: "xxx"})</code>
Nach dem Login kopieren

Durch die Verwendung benutzerdefinierter Typen von pq können Sie Arrays von Ganzzahlen nahtlos als einzelnes Feld in Ihrem Gorm-Modell speichern und abrufen.

Das obige ist der detaillierte Inhalt vonWie speichere ich mit PostgreSQL ein Array von Ganzzahlen als einzelnes Feld in einem Gorm-Modell?. 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