从api调用返回Object的数据的手动分页

时间:2013-03-20 21:54:33

标签: php api pagination laravel

我是Laravel的新手,我正在开发一个测试项目,它将获得一些通过curl进行API调用的记录。我能够得到一个Object,我已准备好在我的控制器上处理它,如下所示:

$results = App::get_data($date);

$tasks = Paginator::make($results->data, count($results->data), 5);

我对手动分页的确如何工作感到困惑,我在$ results->数据上有10个项目,我已经在我的视图中打印出来,包括链接,但分页不起作用。手动分页是否适用于这种设置,我不在数据库上进行交互,而是通过curl从特定的API调用中提取数据。

1 个答案:

答案 0 :(得分:0)

Laravel中的Paginator类最初打算与Eloquent ORM一起使用,例如:

User::all()->paginate($itemsPerPage);

要手动创建Paginator,您已经使用了正确的方法,并且没有明确记录,但Paginator :: make()不会自动为您切片,您也必须手动执行此操作。 ie(假设$ results-> data是一个数组)。

$itemsPerPage = 6;
$currentPage = 2;

$slicedResults = array_slice($results->data, $itemsPerPage * $currentPage, $itemsPerPage);
Paginator::make($slicedResults, $totalItems, $itemsPerPage);

以上示例将为您提供第3页的6个项目。