我尝试在 Go&Beego 上创建一个简单的 REST 服务。
看不懂Beego的逻辑
所有示例都包含有关如何在我需要获取所有项目时仅检索一个项目的信息。
如果是 API。
Controller :
package controllers
import (
"api/models"
"github.com/astaxie/beego"
)
type UserController struct {
beego.Controller
}
func (u *UserController) GetAll() {
users := models.GetAllUsers()
u.Data["json"] = users
u.ServeJSON()
}
型号:
package models
import (
"github.com/astaxie/beego/orm"
)
var (
UserList map[int]*User
)
func init() {
orm.RegisterModel(new(User))
UserList = make(map[int]*User)
u := User{1, "Chandler", "Bing", "chandlerbing@gmail.com"}
UserList[1] = &u
}
type User struct {
Id int `form:"id"`
First_name string `form:"first_name"`
Last_name string `form:"last_name"`
Email string `form:"email"`
}
func GetAllUsers() map[int]*User {
return UserList
}
行得通!但是,我怎样才能从数据库中获取数据呢?
数据库连接正常(MySQL)
最佳答案
您应该使用QueryTable
,如前所述here
var users []*User
num, err := o.QueryTable("user").Filter("name", "slene").All(&users)
在你的情况下,你的 GetAllUsers
应该看起来像这样,但我没有测试它。
func GetAllUsers() map[int]*User {
usrs, err := orm.QueryTable("users").Values(&UserList)
if err != nil {
panic(err)
}
return UserList
}
关于mysql - Go&Beego 如何从数据库中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46158034/