1. 程式人生 > >laravel中的陣列分頁實現

laravel中的陣列分頁實現

use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Collection;
...
$searchResults = [
            'item1',
            'item2',
            'item3',
            'item4',
            'item5',
            'item6',
            'item7',
            'item8',
            'item9',
            'item10'
]; //獲取當前的分頁數,就是第6這樣的 $currentPage = LengthAwarePaginator::resolveCurrentPage(); //例項化collect方法 $collection = new Collection($searchResults); //定義一下每頁顯示多少個數據 $perPage = 5; //獲取當前需要顯示的資料列表 $currentPageSearchResults = $collection
->slice($currentPage * $perPage, $perPage)->all(); //建立一個新的分頁方法 $paginatedSearchResults= new LengthAwarePaginator($currentPageSearchResults, count($collection), $perPage); return view('search', ['results' => $paginatedSearchResults]); }

隨便翻譯了一下,可能會有不正確的地方,但是差不多就是這樣了吧,然後可能還有一些問題,就是分頁的時候,後面的url連結就不正確了,我用的是laravel5.2,就是這裡的這個問題,我的當前連結是www.abc.com/myUrl/a,但是第二頁就直接是www.abc.com/?2,舉個例子,這個可能在5.2版本不可避免的東西,正確的做法就是

$paginatedSearchResults = $paginatedSearchResults->setPath('/myUrl/a');

具體情況具體分析吧,先就這樣吧!