gorm分页查询count报错 sql: no rows in

2020-06-08  本文已影响0人  开心走一波

正确的写法:

qs, user,users := db.DB(), new(db.User),new([]db.User)
    var count int
    if nil != listReq.Start && nil != listReq.End {
        qs = qs.Where("created_at BETWEEN ? AND ?", listReq.Start, listReq.End)
    }
    err := qs.Table("user").Count(&count).Error
    if err != nil {
        return nil, err
    }
    if 0 != listReq.PageSize && 0 != listReq.PageNumber {
        qs = qs.Model(&user).Offset((listReq.PageNumber - 1) * listReq.PageSize).Limit(listReq.PageSize)
    }
    if err := qs.Order("created_at desc").Find(&users).Error; err != nil {
        return nil, err
    }

上面只展示了关键的代码,能说明问题即可。

要点是,count的查询必须写在分页之前,可以写在其余查询逻辑之后。

上一篇下一篇

猜你喜欢

热点阅读