主頁 > 知識庫 > 解決goxorm無法更新值為默認值的問題

解決goxorm無法更新值為默認值的問題

熱門標簽:上海極信防封電銷卡價格 寧波語音外呼系統(tǒng)公司 地圖標注免費定制店 鄭州智能語音電銷機器人價格 不封卡外呼系統(tǒng) 宿遷便宜外呼系統(tǒng)代理商 仙桃400電話辦理 湛江crm外呼系統(tǒng)排名 重慶慶云企業(yè)400電話到哪申請

今天遇到個問題,goxorm無法更新某一個字段為0.

xxTable := models.XXTable{Visible: visible}

affected, err := eng.Where("id=?", id).Update(xxTable)

這種情況下,因為go的結(jié)構(gòu)初始值都是各自的0值,所以xorm無法識別要更新結(jié)構(gòu)體中的哪個col,如下方法寫可以正常解決。

xxTable := models.XXTable{Visible: visible}

affected, err := eng.Where("id=?", id).Cols("visible").Update(xxTable)

補充:golang gin xorm注意事項

1. 無論是golang還是xorm中,在填寫j'son字段時,注意空格,比如 `json:"abcd "` `json:"abcd"`是不一樣的,不仔細對比會出錯

2.當結(jié)合gin框中的

c.JSON(http.StatusOK,gin.H{})操作

并且使用xorm中的join,find操作時(https://www.kancloud.cn/xormplus/xorm/167102)要注意如下現(xiàn)象,

假如定義兩個結(jié)構(gòu)體對應(yīng)兩個表

然后使用聯(lián)合查詢,先把兩個結(jié)構(gòu)體結(jié)合成一個結(jié)構(gòu)體,假如如下,在UserGroup中使用User和Group匿名結(jié)構(gòu)體,

那么當我們使用gin的c.JSON(http.StatusOK,gin.H{"data":UserGroup})返回數(shù)據(jù)時會導(dǎo)致Group和User中同名字段顯示不了,這應(yīng)該是gin和xorm的不是很兼容造成的(沒有深究),要解決這個問題,最好讓UserGroup中的User和Group不要以匿名結(jié)構(gòu)體的形式存在,可以改成

type UserGroup struct {
  MyUser User `xorm:"extends" json:"你要json中返回的名字"`
  MyGroup Group `xorm:"extends" json:"你要json中返回的名字"`
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 在golang xorm中使用postgresql的json,array類型的操作
  • golang xorm及time.Time自定義解決json日期格式的問題
  • golang xorm日志寫入文件中的操作
  • go語言 xorm框架 postgresql 的用法及詳細注解
  • golang中xorm的基本使用說明
  • xorm根據(jù)數(shù)據(jù)庫生成go model文件的操作
  • 使用go xorm來操作mysql的方法實例
  • go xorm框架的使用

標簽:儋州 遼寧 青海 物業(yè)服務(wù) 安康 海南 電子產(chǎn)品 西雙版納

巨人網(wǎng)絡(luò)通訊聲明:本文標題《解決goxorm無法更新值為默認值的問題》,本文關(guān)鍵詞  解決,goxorm,無法,更新,值,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解決goxorm無法更新值為默認值的問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于解決goxorm無法更新值為默認值的問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章