首页 > 解决方案 > 如何检查gorm raw语句生成的数据?

问题描述

我用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 值是自动递增类型

标签: goechorelationshipgo-gormglide-golang

解决方案


我建议使用gorm.Create()你可以从这里查看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
}

推荐阅读