web-dev-qa-db-ja.com

Laravel 5.1ページネーションのために現在のページを指定する

これに長い間取り組んでいますが、結果はありません。私が試してみました。

_`\Illuminate\Pagination\Paginator::setCurrentPage($current_page);`
_

Call to protected method Illuminate\Pagination\Paginator::setCurrentPage()を返します

\Paginator::setCurrentPage($current_page);

Call to protected method Illuminate\Pagination\Paginator::setCurrentPage()を返します

\DB::getPaginator()->setCurrentPage($current_page);

call_user_func_array() expects parameter 1 to be a valid callback, class 'Illuminate\Database\MySqlConnection' does not have a method 'getPaginator'を返します

$tmp = new Post( ); $tmp->getConnection()->setCurrentPage($current_page);

call_user_func_array() expects parameter 1 to be a valid callback, class 'Illuminate\Database\MySqlConnection' does not have a method 'getPaginator'を返します

ページを指定するにはどうすればよいですか?手動で指定する必要があります。

$model->find( )->paginate($per_page, $page)と同じくらい簡単であることを望んでいました

19
Shane

UserControllerでページ分割する$usersがあるとします。

public function index()
{
    $currentPage = 3; // You can set this to any page you want to paginate to

    // Make sure that you call the static method currentPageResolver()
    // before querying users
    Paginator::currentPageResolver(function () use ($currentPage) {
        return $currentPage;
    });

    $users = \App\User::paginate(5);

    return view('user.index', compact('users'));
}

これはLaravel 5.0以降に適用されると思います。確認する必要があります。

34
amith.gotamey

Builder クラスには:

public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)

電話することができます

Model::find(...)->paginate($per_page, ['*'], 'page', $page);
48
PATROMO

aPIを使用していて、APIで現在のページを指定する場合、次のような追加のパラメーターを使用できます。

getProducts?page=3

0
Ahmad.Net