如何搜索分页器并找到项目的页面?

时间:2016-11-17 18:02:15

标签: laravel laravel-5.2

在我的申请中,每个帖子都有一个评论部分,每个评论都有一个回复部分。

由于可以有很多评论,我设置了两个分页器:

  • 评论分页器(?page = ...)
  • 每条评论的回复分页符(?comment-(id)-page = ...)

为了通过调用方法重定向到特定注释或回复,我如何在注释分页器中找到注释的位置并对回复执行相同操作?

调用$post->commentPaginator()->currentPage()可在视图中使用,但如何执行搜索以查找项目的确切页面?

一种方法,例如: <{1}}(例如2)将返回评论所在的页面将是方便的。

1 个答案:

答案 0 :(得分:-1)

假设您按时间戳分页,例如created_at,我会尝试以下操作。

public function getCommentPage($comment, $reply)
{
    // How many items per page
    $repliesPerPage = 10;

    // Replies for this comment
    $replies = $comment->replies()->sortByDesc('created_at');

    // Find the rely position by its id
    $position = array_search($reply->id, array_keys($replies->toArray()));

    // Get the page position and always round up
    $page = ceil($position / $repliesPerPage);

    return page;
}