如果上一部分已在Laravel(多级分页)中完成分页,则仅加载下一部分

时间:2016-08-23 09:03:43

标签: php laravel laravel-5 pagination

问题

考虑以下布局:

Multi Section Table View

现在想象一下,上面列表中的每个部分都是通过对数据库完全独立的查询来检索的......

当用户滚动(延迟加载)时,页面上的内容被分页。结果,每个部分只有在上一部分完全加载后才能看到:

出于以下示例的目的,请假设以下内容:

  • 页面大小为5
  • 第1节有6个项目
  • 第2节有10个项目
  

获取api.example.com/some_request?page=1

{
    data: {
        'section_1': [
            // The first 5 items of section 1 are returned
        ]
    },
    laravel_pagination_stuff_etc...
}
  

获取api.example.com/some_request?page=2

{
    data: {
        'section_1': [
            // The last item of section 1 is returned
        ],
        'section_2': [
            // The first 4 items of section 2 are returned
        ]
    },
    laravel_pagination_stuff_etc...
}

我尝试了什么

我和Laravel Pagination一样玩过:

// Determine which page to retrieve
$page = Input::get('page', 1);
$paginate = 5;

// Paginate the results
$offset = ($page * $paginate) - $paginate;
$items_for_current_page = array_slice($results, $offset, $paginate, true);
$results = new \Illuminate\Pagination\LengthAwarePaginator($items_for_current_page, count($results), $paginate, $page);

但是,我对框架和库不够熟悉,所以在我花费数小时/天完成Laravel分页代码之前,是否有任何Laravel专业版可以看到一种方法以简单的方式实现上述目的?

其他信息

要清楚我要问的是什么;我正在寻找一种可能的方法来将两个完全独立的查询分组并分页到一个page参数中。这可能吗?

请注意我不会问,也不需要为我编写的代码。我只是在逻辑和代码的正确方向上寻求一些指导。

0 个答案:

没有答案