我是golang dbr
库(https://godoc.org/github.com/gocraft/dbr)的新手
而且我没有找到有关如何使用此库获取原始查询的信息。
我需要与php点火器中的get_compiled_select()
类似的东西。我需要它以结合多个复杂的查询。
答案 0 :(得分:1)
以下内容将转储查询...
stmt := session.Select("*").From(table).Where("id = ?", ...)
buf := dbr.NewBuffer()
_ = stmt.Build(stmt.Dialect, buf)
fmt.Println(buf.String())
请注意,输出将不包括插值。
答案 1 :(得分:0)
u可以将expr的原始结构设置为public。
希望对您有帮助。
答案 2 :(得分:0)
我不确定先前的答案(将结构设为公共)是明智的解决方案,即使可行。
IMO,更好的解决方案是在select.go中创建新的getter函数
func (sel *SelectStmt) GetRaw() string {
return sel.raw.Query
}
使用这种方法,应该更易于维护。