scope.go 449 B

1234567891011121314151617181920212223
  1. package models
  2. import (
  3. "gorm.io/gorm"
  4. )
  5. func Paginate(pageNum, pageSize int) func(db *gorm.DB) *gorm.DB {
  6. return func(db *gorm.DB) *gorm.DB {
  7. offset := (pageNum - 1) * pageSize
  8. return db.Offset(offset).Limit(pageSize)
  9. }
  10. }
  11. func String(query string, arg string) func(db *gorm.DB) *gorm.DB {
  12. if len(arg) > 0 {
  13. return func(db *gorm.DB) *gorm.DB {
  14. return db.Where(query, arg)
  15. }
  16. }
  17. return func(db *gorm.DB) *gorm.DB {
  18. return db
  19. }
  20. }