Gorm plugin to add Pagination to your select queries
go get -u -v github.com/manuelarte/pagorminator
var DB *gorm.DB
DB.Use(pagorminator.PaGormMinator{})
var products []*Products
pageRequest, err := pagorminator.PageRequest(0, 10)
DB.Clauses(pageRequest).First(&products)
The pagination struct contains the following data:
page
: page number, e.g. 0size
: page size, e.g. 10sort
: to apply sorting, e.g. id,asc
The plugin will calculate the total amount of elements, and then the pagination instance provides a GetTotalElements()
and GetTotalPages()
methods to be used.
The pagination starts at index 0. So if the total pages is 6, then the pagination index goes from 0 to 5.
Simple query with no filters (no WHERE clause)
Simple query with sorting and no filters (no WHERE clause)
Simple query with no filters (no WHERE clause), many pages
Using WHERE to filter
Unpaged query (pagination with no pagination)
Example using Preload