fix findandcount bug with order (#869)

This commit is contained in:
Lunny Xiao 2018-03-26 10:25:39 +08:00 committed by GitHub
parent 18b1524be4
commit b8dec64610
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 0 deletions

View File

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

View File

@ -568,4 +568,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).Desc("id").
Limit(1).FindAndCount(&results)
assert.NoError(t, err)
assert.EqualValues(t, 1, len(results))
assert.EqualValues(t, 1, cnt)
} }