php - 如何在 Laravel 5 中对合并的集合进行分页?

标签 php laravel pagination laravel-5

我正在创建一个流,其中包含两种类型的对象,BluePerson 和 RedPerson。为了创建流,我获取了所有这两个对象,然后将它们合并到一个集合中。这样做之后,我需要对它们进行分页,但是分页似乎用于 Eloquent 模型和数据库查询,而不是集合。我已经看到很多关于手动创建分页器的信息,但是文档,尤其是 API 中的文档很少(我什至似乎找不到 Paginator 类接受的参数。)

如何对合并集合的结果进行分页?

public function index()
{
    $bluePerson = BluePerson::all();
    $redPerson = RedPerson::all();

    $people = $bluePerson->merge($redPerson)->sortByDesc('created_at');


    return view('stream.index')->with('people', $people);
}

最佳答案

however paginate is for eloquent models and DB queries, and not collections, it seems.

你是对的。但是集合需要一个分页器功能。 forPage

语法:

Collection forPage(int $page, int $perPage)

示例:

休息很简单。

public function foo()
{
    $collection = collect([1,2,3,4,5,6,7,8,9,0]);
    $items = $collection->forPage($_GET['page'], 5); //Filter the page var
    dd($items);
}

关于php - 如何在 Laravel 5 中对合并的集合进行分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30420505/

相关文章:

php - 我可以将 heroku 连接到外部 MySQL 服务器吗?

laravel - 返回数组 Api 资源对象时分页

php - Authorize.net: "createTransactionRequest"具有无效的子元素 "clientId"

java - Salesforce REST API 查询超过 2000

具有无限页码的 ASP.Net GridView 数字分页

ruby-on-rails - Kaminari和Elasticsearch NoMethodError Rails

php - 如何在 codeigniter 中单击按钮后删除一些 session 数组段

javascript - 使用js脚本的PHP重定向无法正常工作

javascript - 如何在axios post请求发送的php中检索变量

email - Laravel:如何将图像作为内容而非附件嵌入电子邮件中