mirror of
https://github.com/astaxie/beego.git
synced 2024-11-01 01:10:54 +00:00
Merge pull request #3642 from GeorgeXc/fixBatchUpdate
Fix BatchUpdate not update the auto_now field
This commit is contained in:
commit
804b9769e0
19
orm/db.go
19
orm/db.go
@ -621,20 +621,31 @@ func (d *dbBase) Update(q dbQuerier, mi *modelInfo, ind reflect.Value, tz *time.
|
|||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var find bool
|
var findAutoNowAdd, findAutoNow bool
|
||||||
var index int
|
var index int
|
||||||
for i, col := range setNames {
|
for i, col := range setNames {
|
||||||
if mi.fields.GetByColumn(col).autoNowAdd {
|
if mi.fields.GetByColumn(col).autoNowAdd {
|
||||||
index = i
|
index = i
|
||||||
find = true
|
findAutoNowAdd = true
|
||||||
|
}
|
||||||
|
if mi.fields.GetByColumn(col).autoNow {
|
||||||
|
findAutoNow = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if findAutoNowAdd {
|
||||||
if find {
|
|
||||||
setNames = append(setNames[0:index], setNames[index+1:]...)
|
setNames = append(setNames[0:index], setNames[index+1:]...)
|
||||||
setValues = append(setValues[0:index], setValues[index+1:]...)
|
setValues = append(setValues[0:index], setValues[index+1:]...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !findAutoNow {
|
||||||
|
for col, info := range mi.fields.columns {
|
||||||
|
if info.autoNow {
|
||||||
|
setNames = append(setNames, col)
|
||||||
|
setValues = append(setValues, time.Now())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
setValues = append(setValues, pkValue)
|
setValues = append(setValues, pkValue)
|
||||||
|
|
||||||
Q := d.ins.TableQuote()
|
Q := d.ins.TableQuote()
|
||||||
|
Loading…
Reference in New Issue
Block a user