我try 使用https://github.com/doug-martin/goqu,尽管查询是正确的,并且我已连接到数据库,但响应始终为空.

func goquBuilder() goqu.DialectWrapper {
    return goqu.Dialect("postgres")
}

    func (r *CourseRepo) GetAll() ([]Course, error) {
    var courses []Course

    query, res, err := goquBuilder().From(
        goqu.S(schema).Table("courses")).Prepared(true).ToSQL()

    if err != nil {
        clogger.Error(err)
    }

    for r := range res {
        fmt.Println(r)
    }

    fmt.Println(query)

    return courses, nil
}

推荐答案

我是初出茅庐的围棋选手,但请看看这个,

func goquBuilder() goqu.DialectWrapper {
    return goqu.Dialect("postgres")
}

func (r *CourseRepo) GetAll() ([]Course, error) {
    var courses []Course

    query := goquBuilder().From(
        goqu.T(schema, "courses")).Select(goqu.I("id"), goqu.I("name"), goqu.I("description"))

    sql, args, err := query.ToSQL()

    if err != nil {
        clogger.Error(err)
        return nil, err
    }

    rows, err := db.Query(sql, args...)
    if err != nil {
        clogger.Error(err)
        return nil, err
    }
    defer rows.Close()

    for rows.Next() {
        var c Course
        err := rows.Scan(&c.ID, &c.Name, &c.Description)
        if err != nil {
            clogger.Error(err)
            return nil, err
        }
        courses = append(courses, c)
    }

    if err = rows.Err(); err != nil {
        clogger.Error(err)
        return nil, err
    }

    return courses, nil
}

Go相关问答推荐

如何在Deliverq中高效地传达客户依赖关系?

SEARCH On Conflict Clause不考虑乐观锁定版本

具有GRPC的RBAC(基于角色的访问控制)-网关生成的REST风格的API

+在具有html/模板Golang的Base64中

Go源在Goland(IDEA)中以灰色显示.什么意思?我怎么才能让它恢复正常?

为什么没有正确生成这些元组?

如何找到一个空闲的TPM句柄来保存新的密钥对对象?

如何测试 Zerolog 记录器引发类型错误的日志(log)事件?

使用GOTK3和librsvg在Go中如何加载内联SVG?

如何使用管理员权限启动 powershell 进程并重定向标准输入 (os.exec)

golang 中的可变参数函数

如何模仿联合类型

如何在 Docker 容器中使用私有存储库进行身份验证

为什么 reflect.TypeOf(new(Encoder)).Elem() != reflect.TypeOf(interfaceVariable)?

使用 package`regexp` 查找 Golang 中的所有 mactch 子字符串,但得到意外结果

Golang模板无法访问embedFS中的文件

使用 Golang SQL 驱动程序连接到snowflake

如何在golang中使用ozzo验证进行时间最大验证

gopls 为 github.com/Shopify/sarama 返回错误gopls: no packages returned: packages.Load error

如何从应用程序调用谷歌云身份 API