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 +}