用户文章添加分页

func GetByUserID(uid string) ([]Article, error) {
    var articles []Article
    if err := model.DB.Where("user_id = ?", uid).Preload("User").Find(&articles).Error; err != nil {
        return articles, err
    }
    return articles, nil
}

把之前的方法修改为如下

// GetByUserID 获取全部文章
func  GetByUserID(uid  string, r *http.Request, perPage  int) ([]Article, pagination.ViewData, error) {

 // 1. 初始化分页实例

 db := model.DB.Model(Article{}).Where("user_id = ?", uid).Order("created_at desc")

 _pager := pagination.New(r, db, route.Name2URL("home"), perPage)

 // 2. 获取视图数据

 viewData := _pager.Paging()

 // 3. 获取数据

 var  articles []Article

 _pager.Results(&articles)

 return articles, viewData, nil

}

users_controller控制器里的show方法中获取文章增加分页

    articles, pagerData, err := article.GetByUserID(_user.GetStringID(), r, 3)
        if err != nil {
            logger.LogError(err)
            w.WriteHeader(http.StatusInternalServerError)
            fmt.Fprint(w, "500 服务器内部错误")
        } else {
            view.Render(w, view.D{
                "Articles":  articles,
                "PagerData": pagerData,
            }, "articles.index", "articles._article_meta")
        }
于江
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!