【发布时间】:2015-08-25 16:09:30
【问题描述】:
我正在尝试实现一个类似于 sphinx 文档的视图,您可以在其中单击下一个和上一个以在页面之间导航。不确定我是否在数组右侧使用自定义分页器,我无法让页面导航链接显示在视图页面上。这是代码:
public function paginate($array, $perPage, $pageStart=1) {
$offset = ($pageStart * $perPage) - $perPage;
return new Paginator(array_slice($array, $offset, $perPage, true), $perPage, $pageStart);
}
view()->composer('layouts.book', function($view)
{
//some other code
$pages = [];
foreach($book->textsection_pages as $textsection) {
$pages[] = $textsection->alias;
}
foreach($book->task_pages as $task) {
$pages[] = $task->alias;
}
foreach($book->tutor_pages as $tutor) {
$pages[] = $tutor->alias;
}
foreach($book->eval_pages as $eval) {
$pages[] = $eval->alias;
}
$chapters = $book->chapters()->orderBy('weight', 'asc')->get();
$paginated = $this->paginate($pages, 1);
$view->with(['chapters' => $chapters, 'book' => $book, 'paginated' => $paginated]);
});
在视图中我调用了{!! $paginated->render() !!},但没有显示导航链接。
【问题讨论】:
-
检查一下 laravel 5 api,Paginator 的构造函数是
__construct(mixed $items, int $total, int $perPage, int|null $currentPage = null, array $options = array()) -
是的,我做到了。它的
__construct($items, $perPage, $currentPage = null, array $options = []) -
啊,我知道这是因为您在闭包中调用 paginate() 方法,而
$this没有引用该类。 -
哦,我明白了。你会如何在闭包中调用
paginate()方法?
标签: php laravel pagination laravel-5