Files
responsex/gormx/gormx.go
T

31 lines
682 B
Go
Raw Normal View History

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