A paginação do Laravel não funciona com array em vez de coleção

Estou tentando paginar um conjunto de dados de matriz e ele se mostrou mais desafiador do que eu pensava.

Estou usando o Laravel 5

Portanto, eu tenho uma interface / repositório abstrato que todos os meus outros modelos estendem e eu criei um método dentro da minha chamada de repositório abstrato paginada. Eu incluí ambos

use Illuminate\Pagination\Paginator;

e

use Illuminate\Pagination\LengthAwarePaginator;

Aqui está o método

  public function paginate($items,$perPage,$pageStart=1)
    {

        // Start displaying items from this number;
        $offSet = ($pageStart * $perPage) - $perPage; 

        // Get only the items you need using array_slice
        $itemsForCurrentPage = array_slice($items, $offSet, $perPage, true);

        return new LengthAwarePaginator($itemsForCurrentPage, count($items), $perPage,Paginator::resolveCurrentPage(), array('path' => Paginator::resolveCurrentPath()));
    }

Então, como você pode imaginar, essa função aceita uma matriz de$items a $perPage variável que indica quantos itens a serem paginados e uma$pageStart que indica de qual página iniciar.

A paginação funciona e eu posso verLengthAwarePaginator exemplo, quando estou fazendo umadd() , todos os seus valores parecem bons.

O problema começa quando estou exibindo os resultados.

Quando eu faço{!! $instances->render() !!} Os links do paginador estão bem, opage O parâmetro muda de acordo com os links, mas os dados não estão mudando. Os dados são iguais em todas as páginas. Quando estou usando o Eloquent, por exemploModel::paginate(3) tudo funciona bem, mas quando eudd() estaLengthAwarePaginator é idêntico aoLengthAwarePaginator instância do meu paginador personalizado, com a exceção de que ele pagina uma matriz de curso e não uma coleção.

questionAnswers(1)

yourAnswerToTheQuestion