20 lines
348 B
Go
20 lines
348 B
Go
package repository
|
|
|
|
import "gorm.io/gorm"
|
|
|
|
// 分页组件
|
|
func page(current, size int) func(db *gorm.DB) *gorm.DB {
|
|
return func(db *gorm.DB) *gorm.DB {
|
|
if current == 0 {
|
|
current = 1
|
|
}
|
|
if size < 1 {
|
|
size = 10
|
|
}
|
|
// 计算偏移量
|
|
offset := (current - 1) * size
|
|
// 返回组装结果
|
|
return db.Offset(offset).Limit(size)
|
|
}
|
|
}
|