golang的gorm定义一个字段用来保存图片列表问题

golang的gorm定义一个字段用来保存图片列表问题:

type Article struct {
    BaseModel
    Title       string     `json:"title" gorm:"type:varchar(64);not null"`
    Content     string     `json:"content"  gorm:"type:text;not null"`
    Status      uint8      `json:"status"`
    Pics1       string     `json:"pics" gorm:"type:json" `
    Pics2       string     `json:"pics" gorm:"type:text" `
}

问题:
如上代码所示,一篇文章可能有几张图片,图片文件名用json数组保存(使用mysql8.0),那么:
1、Pic字段类型写什么?上面写的string,改成json会报错。
2、gorm的type写什么?json还是text?

阅读 4.8k
2 个回答

两种方法:

  1. 如果数据库字段为json,那么gorm设置为interface试试,只不过拿出来要做断言(JSON有interface{}和map两种)
  2. 如果数据库为text,那么gorm设置为string,同样,解析的时候也要类型断言

不用这么麻烦,我觉得比较好的解决办法是 就是存成string,具体类型可以是数组或者map的json序列化后的数据,在用的时候,反序列化出来,这样比较方便

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题