使用beego的orm更新单条数据库记录,如果只传入单个参数会将其他没传入的字段置空,文档上说可指定更新字段(http://beego.me/docs/mvc/model/object.md)
// 只更新 Name
o.Update(&user, "Name")
// 指定多个字段
// o.Update(&user, "Field1", "Field2", ...)
现在的问题是:如何获取到更新的字段 field1,field2
controller中通过 c.Ctx.Request.Body 获取的body是
{
"aa": "234234",
"bb": "sdfg",
"cc": "23423",
"dd": "sss"
}
如何提取出 aa ,bb,dd ……(不确定列数)然后将提取的数组作为更新的特定字段
大哥,请认真阅读官方文档好不,这种问题真心就不应该拿来问,官方文档对于这种问题已经说得很明白了:
第一个返回值为影响的行数
Update 默认更新所有的字段,可以更新指定的字段:
认真看
o.Update
的第一个参数,那是一个指针,意思是你直接把值赋值给user
变量,等于是临时修改了user
变量的属于值,然后把这个user
变量的指针直接传递给o.Update
参数,orm
会直接找到user
对应的记录,更新o.Update
后面的几个参数指定的字段。也就是你直接在o.Update
之前,直接:之后直接调用
o.Update
方法即可。地址:http://beego.me/docs/mvc/model/object.md#update