This is an explanation of the video content.
 用技术延续对ACG的热爱
59

 |   | 

gorm处理pgsql的array

在 GORM 中,对于 PostgreSQL 的数组类型,您可以使用 gorm.Array 进行映射。

  1. 定义了一个 User 结构体,其中 Hobbies 字段使用了 gorm.Array 类型来映射 PostgreSQL 数组类型。
  2. 在插入数据时,我们直接将一个 string slice 赋值给 Hobbies 字段。
  3. 在查询数据时,GORM 会自动将数组类型映射回 gorm.Array 类型。我们可以直接使用 u.Hobbies 来访问数组数据。

需要注意的是,在使用 gorm.Array 时,您需要确保您的数据库表中对应的字段是数组类型,例如 varchar[] 或 text[]。

type User struct {
    ID      uint
    Name    string
    Hobbies gorm.Array
}

// 插入数据
user := User{
    Name:    "John Doe",
    Hobbies: gorm.Array{"reading", "swimming", "traveling"},
}
db.Create(&user)

// 查询数据
var users []User
db.Find(&users)
for _, u := range users {
    fmt.Println(u.Name, u.Hobbies)
}

59 服务端 ↦ Go开发技巧 __ 81 字
 Go开发技巧 #32