// Package gormx 提供 responsex 的 GORM 分页辅助。 // // 按需加载:只有显式 import 本包的项目才依赖 gorm。 // // import 路径:code.yun.ink/pkg/responsex/gormx package gormx import "gorm.io/gorm" // 计算GORM DB的分页 // page 与 size 同时小于等于 0 时,只限制最大条数(1000),不做偏移 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) }