登录
首页 >  Golang >  Go问答

在 Golang 中使用 PostgreSQL 更新原始切片的值的方法

来源:stackoverflow

时间:2024-02-15 15:48:21 100浏览 收藏

在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《在 Golang 中使用 PostgreSQL 更新原始切片的值的方法》,聊聊,希望可以帮助到正在努力赚钱的你。

问题内容

我刚刚开始学习 Golang 和 PostgreSQL。 我尝试制作一个简单的 Todo_List 来提高我的编码技能。

现在,我尝试在 C.R.U.D 中编写“更新”部分的代码。 我使用 Unmarshal 从 http.Reqeust 接收并读取数据,当我检查控制台时,它也打印出来。但是,我正在努力将此接收数据更新为原始切片。 (在我的代码中,todo)

你能帮我看看哪部分出了问题或者如何解决吗?

这是我的整个代码:https://go.dev/play/p/qjW74UVEjpR

很抱歉有很多评论和fmt.Println。我尝试检查我想要的所有条件...


正确答案


您应该使用更新方法。 Link

var params = map[string]interface{}{}
if todoDetails.Id != 0 {
    todoDetails.Id = updateTodo.Id
}
if todoDetails.Title != "" {
    //todoDetails.Title = updateTodo.Title
    params["title"] = todoDetails.Title
}
if todoDetails.Description != "" {
    //todoDetails.Description = updateTodo.Description
    params["description"] = todoDetails.Description
}
if todoDetails.Condition != true || false {
    //todoDetails.Condition = updateTodo.Condition
    params["condition"] = todoDetails.Condition
}
err = db.Model(&Todo{}).Where("id = ?",updateTodo.Id).Updates(params).Error
if err != nil {
        fmt.Println(err)
    return 
}

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>