如何在模型中获取用户输入以在 Beego 中构建查询

问题描述

对于我的项目,我必须使用一个包含用户输入的变量来在模型中构建我的查询用户输入在我的登录控制器中恢复。

    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)