问题描述
对于我的项目,我必须使用一个包含用户输入的变量来在模型中构建我的查询。 用户输入在我的登录控制器中恢复。
username := l.GetString("username")
我在 WHERE 模型的查询中需要它
sqldb.Open(os.Getenv("driverdb"),os.Getenv("paramsdb"))
query := sqldb.QueryAssociativeArray("My query = dbrole.id WHERE login =" + pq.QuoteLiteral(username) + ";")
sqldb.Close()
解决方法
使用 Beego,您可以选择使用 ORM 或原始查询
假设您已经为 ORM 方法注册了模型的初始配置,您可以执行以下操作:
o := orm.NewOrm()
user := User{Username: "Kentosh"}
err := o.Read(&user)
fmt.Printf("ERR: %v\n",err)
fmt.Println(user)
如果你想用原始查询来做,你可以像这样使用它:
var user User
num,err := o.Raw("SELECT id FROM user WHERE username = ?","ketosh").Values(&user)
fmt.Println(user)