Heim  >  Artikel  >  Backend-Entwicklung  >  Wie speichere ich mit Gorm ein Array von Ganzzahlen als einzelnes Feld in einer PostgreSQL-Datenbank?

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

Susan Sarandon
Susan SarandonOriginal
2024-11-04 16:54:02957Durchsuche

How to store an array of integers as a single field in a PostgreSQL database using Gorm?

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

Beim Versuch, ein Array von Zahlen als einzelnes Feld in zu speichern Bei der Verwendung einer Postgres-Datenbank mit Gorm kann es vorkommen, dass Benutzer auf einen Fehler stoßen, der auf einen ungültigen SQL-Typ hinweist. Um dieses Problem zu beheben, sollten benutzerdefinierte Typen aus der zugrunde liegenden Bibliothek verwendet werden.

Der folgende Codeausschnitt zeigt, wie man ein Gorm-Modell mit einem Array von Ganzzahlen als Datentyp deklariert:

<code class="go">type Game struct {
    gorm.Model                                           
    GameCode    string                                      
    GameName    string                                      
    DeckType    pq.Int64Array `gorm:"type:integer[]"` // Use custom type from pq library
    GameEndDate string    
}</code>

Um mithilfe dieses Modells Datensätze zur Datenbank hinzuzufügen, erstellen Sie ein Array von Ganzzahlen und verwenden Sie die Create-Methode:

<code class="go">dt := []int64{1, 2, 3}
                                                                                
db.Create(&amp;Game{GameCode: "xxx", GameName: "xxx", DeckType: pq.Int64Array(dt), GameEndDate: "xxx"})</code>

Durch die Verwendung benutzerdefinierter Typen können Sie effektiv mit Arrays von Ganzzahlen als Datentypen in Ihrem Gorm arbeiten Modelle bei der Interaktion mit einer Postgres-Datenbank.

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