fix findandcount bug (#853)

This commit is contained in:
Lunny Xiao 2018-02-24 17:08:34 +08:00 committed by GitHub
parent a4378c8abd
commit 17ee4be6c1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 0 deletions

View File

@ -52,6 +52,10 @@ func (session *Session) FindAndCount(rowsSlicePtr interface{}, condiBean ...inte
} }
session.autoResetStatement = true session.autoResetStatement = true
if session.statement.selectStr != "" {
session.statement.selectStr = ""
}
return session.Count(reflect.New(sliceElementType).Interface()) return session.Count(reflect.New(sliceElementType).Interface())
} }

View File

@ -561,4 +561,11 @@ func TestFindAndCountOneFunc(t *testing.T) {
assert.NoError(t, err) assert.NoError(t, err)
assert.EqualValues(t, 1, len(results)) assert.EqualValues(t, 1, len(results))
assert.EqualValues(t, 1, cnt) assert.EqualValues(t, 1, cnt)
results = make([]FindAndCountStruct, 0, 1)
cnt, err = testEngine.Where("msg = ?", true).Select("id, content, msg").
Limit(1).FindAndCount(&results)
assert.NoError(t, err)
assert.EqualValues(t, 1, len(results))
assert.EqualValues(t, 1, cnt)
} }