首頁 > 後端開發 > Golang > 如何使用 PostgreSQL 在 GORM 模型中儲存整數陣列?

如何使用 PostgreSQL 在 GORM 模型中儲存整數陣列?

Linda Hamilton
發布: 2024-11-05 01:20:02
原創
1008 人瀏覽過

How to Store Arrays of Integers in a GORM Model Using PostgreSQL?

使用自訂資料類型將整數陣列加入Gorm 模型

在Go 程式語言中,GORM 是一種流行的ORM(物件關聯映射器)框架用於處理資料庫。使用像 PostgreSQL 這樣的關聯式資料庫時,通常需要將值的集合儲存在單一欄位(稱為陣列)中。

問題:添加整數數組時出現恐慌

嘗試時要將整數數組[]int64 添加到Gorm 模型字段,可能會遇到錯誤:"panic: invalid sql type (slice) for郵政。

解決方案:使用陣列的自訂資料類型

要解決此問題,需要使用提供的自訂資料類型由底層資料庫庫。對於PostgreSQL,pq 函式庫提供了一種將整數陣列表示為Gorm 模型中DeckType 欄位的自訂類型pq.Int64Array 的方法:

<code class="go">type Game struct {                                           
        gorm.Model                                           
        GameCode    string                                      
        GameName    string                                      
        DeckType    pq.Int64Array `gorm:&quot;type:integer[]&quot;`
        GameEndDate string    
}</code>
登入後複製

在gorm 標籤中,鍵入:integer [] 指定該欄位應被視為資料庫中的整數數組。

使用整數插入範例陣列

要將整數陣列插入 Gorm 模型,可以使用下列語法:

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

以上是如何使用 PostgreSQL 在 GORM 模型中儲存整數陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板