【问题标题】:How can I check the data generated by gorm raw statement?如何查看gorm raw语句生成的数据?
【发布时间】:2021-07-21 08:45:27
【问题描述】:

我用golang gorm创建了数据,我需要根据生成的数据id在另一个表中形成关系,但是不知道如何查看生成的数据,如何查看生成的数据?

func DefaultMapCreate(userId uint) *model.Map {
    var temp model.Map
    db.Raw("INSERT INTO maps(title, location, created_at, updated_at) VALUES (?, ?, ?, ?)", "default", "test", time.Now(), time.Now()).Scan(&temp)
    return &temp
}

我想把上面代码中生成的数据放到&temp中,基于它在同一个函数中生成其他数据。

但我无法创建关系数据,因为我不知道如何取回生成的数据。请帮忙!,我需要生成数据的 id 值,id 值是自动递增类型

【问题讨论】:

  • how can I check the generated data? 你必须编写指令来指示计算机执行你需要的操作。
  • 好久没开始了,看不懂你评论的内容,能看个简单的例子吗?感谢您的 cmets
  • 也许您不了解该语言及其语法? for 循环、if / else 语句、类型声明等。这在你的帖子中不清楚,看起来你已经复制粘贴了一些代码,运行它,现在你被阻止了。
  • 为什么不使用 Gorm 的Creategorm.io/docs/create.html
  • 只想添加@ChetanRanpariya 为什么不使用maps 表的结构并使用Create()

标签: go echo relationship go-gorm glide-golang


【解决方案1】:

我建议使用 gorm.Create() 。可以从here查看Declaring gorm models的有用信息。

type MyMap struct {
    ID        uint           `gorm:"primaryKey"`
    Title     string
    Location  string
    CreatedAt Time
    UpdatedAt Time
}

func DefaultMapCreate(userId uint) {
    record := MyMap{
        Title:     "default",
        Location:  "",
        CreatedAt: time.Now(),
        UpdatedAt: time.Now(),
    }
    result := db.Create(&record) // pass pointer of data to Create

    //record.ID             // returns inserted data's primary key
    //result.Error        // returns error
    //result.RowsAffected // returns inserted records count
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多