首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用原始内置函数GORM时未声明的名称const

使用原始内置函数GORM时未声明的名称const
EN

Stack Overflow用户
提问于 2022-08-24 09:50:47
回答 2查看 110关注 0票数 0

我想在GORM中使用Raw函数作为我个人项目的需求。

这是我的实体

代码语言:javascript
复制
type Student struct {
    ID int `json:"id"`
    Name string `json:"name"`
    Address string `json:"address"`
}

因此,我创建常量以在原始参数中被调用。

代码语言:javascript
复制
const (RetrieveData = `SELECT id, name, address FROM users WHERE id = ?`)

然后我构建函数

代码语言:javascript
复制
type mysqlRepository struct {
    GormDb *gorm.DB
}

func(repo *mysqlRepository) RetrieveUserData(id int) (Student, error) {
    data := Student{}
    
    db := db.GormDb.Raw(RetrieveData, 3).Scan(&data)
    return data, db.Error
}

为什么我会收到关于我的功能的警告

代码语言:javascript
复制
undeclared name: RetrieveData (compile)go-staticcheck

是因为不类型的字符串类型吗?

EN

回答 2

Stack Overflow用户

发布于 2022-08-24 10:38:54

很可能RetrieveDatafunc RetrieveUserData中是不可访问的

要么将其移动到同一个包中,要么使用<package_name>.RetrieveData

票数 1
EN

Stack Overflow用户

发布于 2022-08-24 09:59:44

使用方法find()

代码语言:javascript
复制
err := DB.Raw("[sql]").Find(&data).Error
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73470995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档