Skip to content

dogukanayd/gorm-pagination

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

gorm-pagination


Usage


go get github.com/dogukanayd/gorm-pagination/pagination

Just create the Config struct from the package and use Paginate method

	p, nor := (&pagination.Config{
		Page:    1,
		PerPage: 2,
		Path:    c.Path(),
		Sort:    "id desc",
	}).Paginate(db, &cb)

    return c.JSON(http.StatusOK, p)

Example Response:

{
  "current_page": 1,
  "data": [
    {
      "id": 3,
      "user_name": "John"
    },
    {
      "id": 2,
      "user_name": "Jane"
    },
    {
      "id": 1,
      "user_name": "Luke"
    }
  ],
  "first_page_url": "127.0.0.1:3030/users/get?page=1&per_page=3",
  "from": 0,
  "last_page": 748,
  "last_page_url": "127.0.0.1:3030/users/get?page=748&per_page=3",
  "next_page_url": "127.0.0.1:3030/users/get?page=2&per_page=3",
  "path": "/users/get",
  "per_page": 3,
  "prev_page_url": "127.0.0.1:3030/users/get?page=1&per_page=3",
  "to": 0,
  "total": 2245
}

For unit tests it's provide interface;

// Paginator ..
type Paginator interface {
	Paginate(db *gorm.DB) (Result, *gorm.DB)
}

About

easy to use pagination package for gorm.io

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages