当前位置: 首页 > 知识库问答 >
问题:

在 Golang 中使用 GORM 进行多次更新

艾奕
2023-03-14

我正在尝试用杜松子酒和戈尔姆酒制作API。现在我已经插入了一个API。这个API将在数据库中创建多个条目。我有这样的json体。数组的大小会有所不同。

{
 "key" : [1,2]
}

这样,我就有了从url获取的其他参数-

key1 := c.Param("value1")
key2 := c.Param("value2")

现在我想在DB上创建多个条目[1,2],其中包含key1和key2的数据,如-

我陷入了困境,不知道如何阅读这个json并将数据保存在我的模式(struct)中,以创建多个条目,如-

var users = []User{{key1: "value1", "key2": "value2, "key" :1}, {key1: "value1", "key2": "value2, "key" :2}}
db.Create(&users)

请引导我找到一个可能的解决方案,因为我是Go的新手。让我知道更多的澄清。谢谢

共有1个答案

冀胤运
2023-03-14

所需结构

  1. 请求json
type BodyJson struct {
    Key []int `json:key`
}
type User struct {
    Key  int    `gorm:"column:key"`
    Key1 string `gorm:"column:key1"`
    Key2 string `gorm:"column:key2"`
}

Unmarshal body json to BodyJson struct var

var bodyJson BodyJson
err := json.Unmarshal([]byte(body_json_string), &bodyJson)

遍历 bodyJson.Key 数组,并使用此键、key1 和 key2 填充 User 的 []。

然后用保存用户

db.Create(&users)

希望这有帮助。

 类似资料:
  • 问题内容: 我在GoRM ORM中使用Go 。我有以下结构。关系很简单。一个城镇有多个地方,一个地方属于一个城镇。 现在,我想查询所有地方,并与他们所有的字段一起了解相应城镇的信息。这是我的代码: 我的样本数据库具有以下数据: 我 收到 这个: 但是我 希望 收到这样的信息(两个地方都属于同一个城镇): 我该如何查询?我尝试使用,并没有成功(可能是错误的方式)。我无法获得预期的结果。 问题答案:

  • 问题内容: 我在RestFul服务中使用了golang gorm,但是,我现在怀疑这很简单,但找不到任何示例或特定文档,这对我来说并不明确。 假设我有表用户和语言,任何用户都可以有多种语言,任何语言都可以有许多用户,在这种情况下,对于关系数据库建模理论,我们必须创建一个表users_languages,并检查gorm,我发现必须使用多对多关系。 现在,我已经有了定义用户和语言表的结构,可以这样说:

  • 问题内容: 这一点效果很好: 它将列中的所有字段组加在一起。 我遇到的麻烦是得到此结果来更新另一个表中的另一列。 这就是我所拥有的: 任何建议,不胜感激。 问题答案: 您不能在内部使用update语句。您需要使用子选择进行分组。 像这样的东西:

  • 我有一个简单的国家/地区表,其中包含名称,大陆,人口和其他一些字段。 我正在尝试使用ActiveRecord执行以下MySQL查询 选择来自大陆=“亚洲”的国家/地区的计数(*),总和(人口),AVG(人口) 我该怎么做? 我试过: 国其中(:大陆= 国其中(:大陆= 国其中(:大陆= 它们都单独工作得很好,它们都返回数字(不是一个ActiveRelation对象),这意味着您不能做类似 国其中(

  • 使用md5和sha1对同一个变量进行散列,是否会使字符串更难解密并提高安全性? 将同一字符串的MD5和SHA1版本串联起来,然后最后用中的任何一个再次哈希,是否有帮助?

  • 问题内容: 我正在尝试通过构建一个原型订单管理应用程序来学习Go和Gorm。该数据库是MySQL。通过简单的查询,Gorm表现出色。但是,当尝试获取涉及具有一对一关系的一对多组合的结果集时,Gorm似乎不足。毫无疑问,实际上是我缺乏理解。我似乎找不到任何我想完成的在线示例。任何帮助将不胜感激。 去结构 数据库表 当前查询 结果(gorm进行2个数据库查询) 替代查询 结果(gorm进行3个db查询