fix update map with table name #888

Merged
lunny merged 4 commits from lunny/update_map2 into master 2018-04-11 15:09:47 +00:00
2 changed files with 18 additions and 2 deletions
Showing only changes of commit 5562169506 - Show all commits

View File

@ -1198,7 +1198,7 @@ func TestUpdateMapContent(t *testing.T) {
assert.EqualValues(t, 0, c1.Age)
cnt, err = testEngine.Table(new(UpdateMapContent)).ID(c.Id).Update(map[string]interface{}{
"age": 16,
"age": 16,
"is_man": false,
"gender": 2,
})
@ -1212,4 +1212,20 @@ func TestUpdateMapContent(t *testing.T) {
assert.EqualValues(t, 16, c2.Age)
assert.EqualValues(t, false, c2.IsMan)
assert.EqualValues(t, 2, c2.Gender)
cnt, err = testEngine.Table(testEngine.TableName(new(UpdateMapContent))).ID(c.Id).Update(map[string]interface{}{
"age": 15,
"is_man": true,
"gender": 1,
})
assert.NoError(t, err)
assert.EqualValues(t, 1, cnt)
var c3 UpdateMapContent
has, err = testEngine.ID(c.Id).Get(&c3)
assert.NoError(t, err)
assert.True(t, has)
assert.EqualValues(t, 15, c3.Age)
assert.EqualValues(t, true, c3.IsMan)
assert.EqualValues(t, 1, c3.Gender)
}

View File

@ -1143,7 +1143,7 @@ func (statement *Statement) genSelectSQL(columnStr, condSQL string, needLimit, n
}
func (statement *Statement) processIDParam() error {
if statement.idParam == nil {
if statement.idParam == nil || statement.RefTable == nil {
return nil
}