Laravel Paginierung funktioniert nicht mit Arrays statt Sammlung

Ich versuche, den Umbruch einer array-Daten eingestellt und es hat sich schwieriger als ich dachte.

Bin ich mit Laravel 5

So, ich habe eine abstrakte Schnittstelle/repository, das alle meine anderen Modelle erweitern und habe ich eine Methode in meiner abstrakten repository nennen paginieren.
Ich habe beide

use Illuminate\Pagination\Paginator;

und

use Illuminate\Pagination\LengthAwarePaginator;

Hier ist die Methode

  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()));
    }

So, wie Sie sich vorstellen können, diese Funktion akzeptiert ein array von $items eine $perPage variable, die angibt, wie viele Elemente umbrechen und eine $pageStart, der angibt, von welcher Seite aus zu starten.

Die Paginierung funktioniert und ich sehen kann LengthAwarePaginator Instanz, wenn ich dabei bin eine dd() alle seine Werte scheinen in Ordnung.

Das problem beginnt, wenn ich mir die Ergebnisse anzeigen zu lassen.

Wenn ich {!! $instances->render() !!} Den paginator links display ist in Ordnung, das page Parameteränderungen nach links, aber die Daten nicht ändern.
Daten ist der gleiche auf jeder Seite. Wenn ich mit Beredtes Beispiel für Model::paginate(3) funktioniert alles einwandfrei, aber wenn ich dd() diese LengthAwarePaginator es ist identisch mit der LengthAwarePaginator Instanz des benutzerdefinierten paginator mit der Ausnahme, dass es paginiert ein array natürlich, und nicht eine Sammlung.

InformationsquelleAutor Harry Geo | 2015-05-27
Schreibe einen Kommentar