在Gorm 模型中加入整數數組作為資料類型
簡介:
簡介:工作時對於使用Go>工作時對於使用Go>工作時對於使用Go>工作時對於使用Go>工作時對於使用Go>工作時對於使用Go>的PostgreSQL,在模型中加入整數數組作為資料類型可能會帶來挑戰。本文解決了嘗試此類操作時遇到的常見問題。
問題:Gorm 模型在嘗試在單一 PostgreSQL 欄位中保存數字陣列時經常遇到錯誤。此錯誤通常顯示為「恐慌:postgres 的 sql 類型(切片)無效。」
故障排除:問題是由於使用切片作為資料類型而引起的。此解決方案涉及利用底層 PostgreSQL 驅動程式庫中的自訂類型。
<code class="go">type Game struct { gorm.Model GameCode string GameName string DeckType pq.Int64Array GameEndDate string }</code>
將DeckType []int64 替換為DeckType pq.Int64Array,其中pq 導入為importpq pq "github.com/lib/pq"。
<code class="go">DeckType pq.Int64Array `gorm:"type:integer[]"`</code>
此標籤表示DeckType 欄位應映射到PostgreSQL 整數數組。
<code class="go">dt := []int64{1, 2, 3} db.Create(&Game{GameCode: "xxx", GameName: "xxx", DeckType: pq.Int64Array(dt), GameEndDate: "xxx"})</code>
以上是如何使用 PostgreSQL 在 Gorm 模型中儲存整數陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!