0

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

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

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

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

4

1 回答 1

0

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

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

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

$itemsPerPage = 6;
$currentPage = 2;

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

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

于 2013-09-17T10:26:37.383 回答