我使用gorm,并尝试创建到mysql的事务。我有一个结构
type Game struct {
Images []string
}
game := Game{Images: []string{"1.png", "2.png"}}
db := Database()
tx := db.Begin()
if err := tx.Create(&game).Error; err != nil {
tx.Rollback()
return errors.New("Cannot add game")
}
tx.Commit()
但我犯了个错误 (sql: converting argument $1 type: unsupported type []string, a slice of string)
. 我明白,mysql不支持这种类型,但是我能用某种方法解决这个问题吗?我想我可以把字体改成 json.rawMessage
,但我认为这是一个错误的方式。
我用方言 "github.com/jinzhu/gorm/dialects/mysql"
1条答案
按热度按时间i7uq4tfw1#
如果你想在mysql中列出一些东西,你有两个选择
您可以自己序列化列表(使用逗号分隔的字符串、json或其他序列化格式),并将其存储在字符串或字节列中。
可以使用join将这两个表关联起来。
gorm通过称为关联的东西来支持连接。在这种情况下,你有很多联系(http://doc.gorm.io/associations.html#has-许多)。
您可以这样做的一个例子是: