gpt4 book ai didi

mysql - Go&Beego 如何从数据库中获取数据?

转载 作者:数据小太阳 更新时间:2023-10-29 03:24:22 25 4
gpt4 key购买 nike

我尝试在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com