2017-10-26 9 views
0

laravelのページネーションに問題があります。Laravelカスタムページネーションが機能しない

以前は問題なく動作していました。

$users = user::getAllUsers()->paginate(10); 

しかし、私は、コードを変更する必要があるため、唯一の方法は、第二コードの問題は、私は次のボタンがページにリダイレクトするために押していたときにということで、カスタムページネーション

use Illuminate\Pagination\Paginator; 
use Illuminate\Support\Facades\Input; 

public function companies() 
{ 
    $users = user::getAllUsers()->get(//some codes here); 
    $paginated = = new Paginator($users , 2); 

    $paginated ->setPath('/users/view'); 
    return view('users.view', compact('paginated')); 
} 

を使用することです= 2、ビューの値は変更されません。しかし、URLは変化しています。

ここに何か不足しているかどうかわかりません。ヘルプしてください

答えて

1

使用 LengthAwarePaginator

use Illuminate\Pagination\LengthAwarePaginator; 
use Illuminate\Http\Request; 

public function companies(Request $request){ 
    ... 
    $items_per_page = 2; 
    $paginated = new LengthAwarePaginator(
     $users->forPage($request->page ?: 1, $items_per_page), 
     $users->count(), 
     $items_per_page 
    ); 
    ... 
} 
+0

"未定義変数:要求"エラーが発生しました –

+0

@ReyNorbertBesmonte更新された回答を参照してください。代わりに、$ request-> pageの代わりにInput :: get( 'page')を使用することもできますが、リクエストを使用することをお勧めします(Larval 5.xの場合) – spirit

+0

これは私の問題を解決しました。 これについてのパスをどのように設定しているのですか? これは、ベースURL(localhost:8000?page = 2)にリダイレクトされますが、localhost:8000 \ users \ view?page = 2 –

1

あなたは

$paginated = new Paginator($users , 2, $request->get('page')); 

パラメータが順序である三番目のパラメータとして渡す必要があります。アイテム、perPage、currentPageに

+0

私は取得しています"未定義変数:要求"エラー –

+0

$要求をコントローラ機能に注入できます。 –

関連する問題