账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    go gin+gorm返回数据处理问题
    • 2020-01-01 00:00
    • 10
    53
    0

    需求:查询数据库符合条件的所有记录,然后进行循环写入redis代码如下
    model:

    `func GetPendingVideo(id string) (Task []Task) {
    if id != "" {
        db.Where("`status` = ? and task_rule_number=?", 0, id).Find(&Task)
    } else {
        db.Where("`status` = ?", 0).Find(&Task)
    }
    
    return

    }
    `

    控制器:
    id := c.Request.FormValue("id")

    var data interface{}
    data = models.GetPendingVideo(id)
    fmt.Println(data)

    请问如何拿到data里面的每一条记录,或者使用其他优化的办法

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 莪親媽. 普通会员 1楼
      在Go语言中,Gin和Gorm结合使用时,返回数据的处理通常涉及到数据库查询以及将查询结果序列化为JSON格式返回给客户端。以下是一个基本示例: ```go package main import ( "github.com/gin-gonic/gin" "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) type User struct { gorm.Model Name string Age uint } func main() { db, err := gorm.Open("mysql", "user:password@/dbname?charset=utf8&parseTime=True&loc=Local") if err != nil { panic("failed to connect database") } defer db.Close() // 自动迁移模式创建表结构 db.AutoMigrate(&User{}) r := gin.Default() r.GET("/users", func(c *gin.Context) { var users []User // 查询所有用户 db.Find(&users) // 序列化并返回JSON数据 c.JSON(200, users) }) r.Run(":8080") } ``` 在这个例子中,我们首先定义了一个`User`结构体对应数据库中的表。然后在路由处理器中,我们查询所有的用户,并将查询结果(一个User切片)通过`c.JSON()`方法序列化为JSON格式并返回给客户端。 注意:在实际应用中,请确保正确处理可能出现的错误,如数据库连接失败、查询失败等。
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部