gorm_paginator

package module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 26, 2019 License: MIT Imports: 2 Imported by: 0

README

gorm-paginator

Usage

go get github.com/biezhi/gorm-paginator/pagination
type User struct {
	ID       int
	UserName string `gorm:"not null;size:100;unique"`
}

var users []User
db = db.Where("id > ?", 0)

pagination.Pagging(&pagination.Param{
    DB:      db,
    Page:    1,
    Limit:   3,
    OrderBy: []string{"id desc"},
}, &users)

With Gin

r := gin.Default()
r.GET("/", func(c *gin.Context) {
    page, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
    limit, _ := strconv.Atoi(c.DefaultQuery("limit", "3"))
    var users []User

    paginator := pagination.Pagging(&pagination.Param{
        DB:      db,
        Page:    page,
        Limit:   limit,
        OrderBy: []string{"id desc"},
        ShowSQL: true,
    }, &users)
    c.JSON(200, paginator)
})

License

MIT

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Paginator

type Paginator struct {
	TotalRecord int         `json:"count"`
	TotalPage   int         `json:"total_page"`
	Records     interface{} `json:"data"`
	Offset      int         `json:"-"`
	Limit       int         `json:"per_page"`
	Page        int         `json:"page"`
	PrevPage    int         `json:"-"`
	NextPage    int         `json:"-"`
}

Paginator 分页返回

func Paging

func Paging(p *Param, result interface{}) *Paginator

Paging 分页

type Param

type Param struct {
	DB      *gorm.DB
	Page    int
	Limit   int
	OrderBy []string
	ShowSQL bool
}

Param 分页参数

Directories

Path Synopsis
pagination module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL