无法使用goqu获得响应。

huangapple go评论89阅读模式
英文:

unable to get a response with goqu

问题

我正在尝试使用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
}

以上是要翻译的内容。

英文:

I am attempting to use https://github.com/doug-martin/goqu and although the query is correct and I am connected to the database the response is always empty.

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
}

答案1

得分: 0

我是你的中文翻译助手,以下是你提供的代码的翻译:

我是go的初学者请帮我看一下这段代码

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
}

希望对你有帮助!

英文:

I'm junior in go but check this out please,

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
}

huangapple
  • 本文由 发表于 2023年6月18日 18:58:29
  • 转载请务必保留本文链接:https://go.coder-hub.com/76500193.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定