Maison >développement back-end >Golang >Comment stocker un tableau d'entiers sous forme de champ unique dans un modèle Gorm à l'aide de PostgreSQL ?
Ajout d'un tableau d'entiers en tant que type de données dans le modèle Gorm
Lorsqu'il s'agit de modèles de base de données, il est souvent nécessaire de stocker des tableaux de valeurs . Dans Gorm, l'ORM officiel pour Go, enregistrer un tableau d'entiers en tant que champ unique dans PostgreSQL peut être un défi.
Pour résoudre ce problème, Gorm prend en charge la gestion des tableaux en utilisant des types personnalisés de la bibliothèque sous-jacente. . En tirant parti de la bibliothèque pq, vous pouvez définir un type de tableau dans votre modèle.
Par exemple, considérons le modèle Gorm mis à jour suivant :
<code class="go">type Game struct { gorm.Model GameCode string GameName string DeckType pq.Int64Array `gorm:"type:integer[]"` GameEndDate string }</code>
Ici, DeckType est défini comme pq.Int64Array , qui représente un tableau d'entiers. La balise gorm:"type:integer[]" spécifie le type PostgreSQL sous forme d'un tableau d'entiers.
Pour insérer un enregistrement avec un tableau d'entiers, affectez simplement le tableau au champ DeckType :
<code class="go">dt := []int64{1, 2, 3} db.Create(&Game{GameCode: "xxx", GameName: "xxx", DeckType: pq.Int64Array(dt), GameEndDate: "xxx"})</code>
En utilisant les types personnalisés de pq, vous pouvez enregistrer et récupérer de manière transparente des tableaux d'entiers en tant que champ unique dans votre modèle Gorm.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!