From de243040657ed8fa6a3931a988cf995e07d472c9 Mon Sep 17 00:00:00 2001 From: Yun Date: Fri, 19 Apr 2024 09:18:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E7=9A=84=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils.go | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 utils.go diff --git a/utils.go b/utils.go new file mode 100644 index 0000000..04b0867 --- /dev/null +++ b/utils.go @@ -0,0 +1,38 @@ +package gormx + +import "gorm.io/gorm" + +// 计算DB的分页 +func GetDbOffset(db *gorm.DB, page, size int64) *gorm.DB { + offset := int(0) + limit := int(0) + if page <= 0 && size <= 0 { + // 最大可找1000条 + limit = 1000 + } else { + if page <= 0 { + page = 1 + } + if size <= 0 { + size = 10 + } + offset = int((page - 1) * size) + limit = int(size) + } + + return db.Offset(offset).Limit(limit) +} + +// 分页查询 +func GetOffset(page, size int) (offset int, limit int) { + if page <= 0 { + page = 1 + } + offset = (page - 1) * size + limit = size + if limit == 0 { + // 默认查10条 + limit = 10 + } + return +}