39 lines
607 B
Go
39 lines
607 B
Go
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
|
|
}
|