2017-03-24 44 views
0

我做了以下內容:Laravel分頁程序對象沒有渲染方法

$array = new LengthAwarePaginator(array_slice($array, $offset, $perPage, true), count($array),$perPage, $page, ['path' => $request->url(), 'query' => $request->query()]); 
dd($array->render()); 

和我得到的渲染方法的正確HTML輸出。

然後我嘗試:

$array = new Paginator(array_slice($array, $offset, $perPage, true), $perPage, $page, ['path' => $request->url(), 'query' => $request->query()]); 
dd($array->render()); 

,輸出爲 「」。

當我(dd($array));我得到:

Paginator {#310 ▼ 
    #hasMore: false 
    #items: Collection {#315 ▶} 
    #perPage: 10 
    #currentPage: 1 
    #path: "https://localhost/search/3" 
    #query: array:1 [▶] 
    #fragment: null 
    #pageName: "page" 
} 

任何人都知道爲什麼我的分頁程序沒有渲染的方法?

+0

您使用的是Laravel 5版本? –

+0

@RossWilson我正在使用5.2.45 – user3494047

回答

0

問題是因爲Illuminate \ Pagination \ Paginator的工作方式存在誤解。對於這個對象,你不能像傳入一個LengthAwarePaginator一樣以$ perPage的大小傳遞數組,因爲這個Paginator不知道是否有下一頁。所以,我提出的解決方案(儘管我還沒有發現任何提及這個的文檔)是通過array_slice($array, $offset, $perPage * 2, true)作爲Paginator的輸入。這樣,它總是知道是否有更多,我仍然不需要知道有多少總項目。