diff --git a/session_find.go b/session_find.go index f9b3777f..79817da3 100644 --- a/session_find.go +++ b/session_find.go @@ -55,6 +55,9 @@ func (session *Session) FindAndCount(rowsSlicePtr interface{}, condiBean ...inte if session.statement.selectStr != "" { session.statement.selectStr = "" } + if session.statement.OrderStr != "" { + session.statement.OrderStr = "" + } return session.Count(reflect.New(sliceElementType).Interface()) } diff --git a/session_find_test.go b/session_find_test.go index 20c15362..fe81597e 100644 --- a/session_find_test.go +++ b/session_find_test.go @@ -568,4 +568,11 @@ func TestFindAndCountOneFunc(t *testing.T) { assert.NoError(t, err) assert.EqualValues(t, 1, len(results)) 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) }