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