【问题标题】:Laravel PaginationLaravel 分页
【发布时间】:2015-08-12 15:10:30
【问题描述】:

如何在 laravel 中创建分页?

我的模型

发帖

function comments() {

    return $this->hasMany('Comment')
                ->orderBy('created_at', 'desc');
}

评论

function posts(){

    return $this->belongsTo('Post');
}

用户

function posts(){

    return $this->hasMany('Post');
}


function comments(){

    return $this->hasMany('Comment');
}

用户控制器

$user = User::find(1); //this will give me all the user's post and comment details

//i know I can do  $user = User::paginate(30) to get 30 user per page

我想要实现的目标

我想创建一个每页 10 条评论的分页。

提前感谢您的帮助。

【问题讨论】:

    标签: php laravel laravel-pagination


    【解决方案1】:

    您有两个选择:您可以在关系查询上调用paginate(),或者您可以手动创建分页器。

    在关系查询上调用paginate()(使用关系函数):

    $user = User::find(1);
    $comments = $user->comments()->paginate(10);
    

    手动创建分页器(使用关系属性):

    $user = User::find(1);
    $paginator = Paginator::make($user->comments, $user->comments->count(), 10);
    

    分页文档可以在here找到。

    【讨论】:

    • 嗨@patricus 感谢您的快速响应。有什么方法可以让用户在模型中分页?
    • @CannotFindSymbol 很抱歉,我不确定你在问什么。
    【解决方案2】:

    试试这个,

    $only10cmets = User::with('cmets')->分页(10);

    如果您在分页中使用下一个、上一个链接,则使用 simplePaginate。

    $only10cmets = User::with('cmets')->simplePaginate(10);

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2014-07-27
      • 2017-11-30
      • 2021-01-21
      • 2016-05-01
      • 2014-09-12
      • 2016-12-03
      • 2016-11-30
      • 1970-01-01
      相关资源
      最近更新 更多