分页数据

2019-07-17  本文已影响0人  吴宪峰
func PageUser(p int, size int) helper.Page {

    var user User
    var list []User
    qs := Database.Find(&user)
    var count int
    qs.Count(count)
    qs.Related(&user).Order("user_registered").Limit(size).Offset((p - 1) * size).Find(&list)
    //c, _ := strconv.Atoi(strconv.FormatInt(count, 10))
    return helper.PageUtil(count, p, size, list)
}
package helper

type Page struct {
    PageNo     int
    PageSize   int
    TotalPage  int
    TotalCount int
    FirstPage  bool
    LastPage   bool
    List       interface{}
}

func PageUtil(count int, pageNo int, pageSize int, list interface{}) Page {
    tp := count / pageSize
    if count%pageSize > 0 {
        tp = count/pageSize + 1
    }
    return Page{PageNo: pageNo, PageSize: pageSize, TotalPage: tp, TotalCount: count, FirstPage: pageNo == 1, LastPage: pageNo == tp, List: list}
}```
上一篇 下一篇

猜你喜欢

热点阅读