如何从 dbr golang 查询生成器中提取原始查询

Adi*_*uar 4 mysql database go

dbr我是 golang库(https://godoc.org/github.com/gocraft/dbr )的新手,我没有找到有关如何使用该库获取原始查询的信息。

我需要类似于get_compiled_select()php igniter 的东西。我需要它将多个复杂查询与联合结合起来。

Nat*_*ace 7

以下将转储查询...

stmt := session.Select("*").From(table).Where("id = ?", ...)

buf := dbr.NewBuffer()
_ = stmt.Build(stmt.Dialect, buf)
fmt.Println(buf.String())

// print the interpolated values
for _, v := range stmt.WhereCond {
    fmt.Println(v)
}
Run Code Online (Sandbox Code Playgroud)

请注意,输出将不包括插值。

  • stmt.Dialect 不是使用 `github.com/mailru/dbr` 的有效属性,导入 `github.com/mailru/dbr/dialect`,然后使用 `dialect.Sqlite` 例如。无论如何都投了赞成票。 (2认同)