Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php laravel 5自定义分页器不工作_Php_Laravel_Pagination_Laravel 5 - Fatal编程技术网

Php laravel 5自定义分页器不工作

Php laravel 5自定义分页器不工作,php,laravel,pagination,laravel-5,Php,Laravel,Pagination,Laravel 5,我正在尝试实现一个类似sphinx文档的视图,您可以单击next和previous在页面之间导航。不确定我是否使用数组右侧的自定义分页器,我无法在查看页面上显示页面导航链接。代码如下: public function paginate($array, $perPage, $pageStart=1) { $offset = ($pageStart * $perPage) - $perPage; return new Paginator(array_slice($array

我正在尝试实现一个类似sphinx文档的视图,您可以单击next和previous在页面之间导航。不确定我是否使用数组右侧的自定义分页器,我无法在查看页面上显示页面导航链接。代码如下:

   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.1)中处理自定义分页的方法。我创建了一个部分视图
resources/views/partials/pagination.blade.php

@if ($paginator->lastPage() > 1)
<ul id="pagination">
    <li>
    @if ($paginator->currentPage() > 1)
        <a class="prev" href="{{ $paginator->url($paginator->currentPage()-1) }}">Previous</a>
    @else
        <span class="disabled">Previous</span>
    @endif
    </li>

    <li>
    @if ($paginator->currentPage() !== $paginator->lastPage())
        <a class="next" href="{{ $paginator->url($paginator->currentPage()+1) }}" >Next</a>
    @else
        <span class="disabled">Next</span>
    @endif
    </li>
</ul>
@endif

检查了laravel 5 api后,Paginator的构造函数是
\u构造(混合$items,int$total,int$perPage,int | null$currentPage=null,array$options=array())
是的,我做了。它的
\u构造($items,$perPage,$currentPage=null,array$options=[])
啊,我明白了,这是因为你在闭包中调用paginate()方法,而
$this
并没有引用class.ohh我明白了。在闭包中如何调用
paginate()
方法?嘿,您仍然在模型上使用内置的paginator。我想要一个在集合或数组上工作的分页器。
@foreach ($objects as $object)
    // Here we list the object properties
@endforeach
@include("partials.pagination", ['paginator' => $objects])