From d9dc7d6e5033a9dfc3485459df956e54752d8534 Mon Sep 17 00:00:00 2001 From: heliosgo Date: Thu, 11 Jul 2024 17:47:51 +0800 Subject: [PATCH] Update FindAndCount --- find.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/find.go b/find.go index 945aa0dc..fa69b753 100644 --- a/find.go +++ b/find.go @@ -49,6 +49,14 @@ func (session *Session) FindAndCount(rowsSlicePtr any, condiBean ...any) (int64, return 0, errors.New("needs a pointer to a slice or a map") } + sliceValueLen := sliceValue.Len() + if session.statement.LimitN == nil { + return int64(sliceValueLen), nil + } + if sliceValueLen > 0 && sliceValueLen < *session.statement.LimitN { + return int64(session.statement.Start + sliceValueLen), nil + } + sliceElementType := sliceValue.Type().Elem() if sliceElementType.Kind() == reflect.Ptr { sliceElementType = sliceElementType.Elem()