【问题标题】:Laravel pagination is not working in search pageLaravel 分页在搜索页面中不起作用
【发布时间】:2021-03-08 21:27:20
【问题描述】:

我正在使用 laravel 5.1。这是我的代码,

routes.php

Route::any('users/search', array('as' => 'adminuserssearch', 'uses' => 'UsersController@adminSearch'));

UsersController.php

public function adminSearch(){
    $input = Input::all();
    if(!empty($input)){
        $key = Input::get('key');
        $users =  User::where('users.name', 'like', '%'.$key.'%')
         ->orWhere('users.email', 'like', '%'.$key.'%')
         ->paginate(10);

        return view('admin.users.search', ['users' => $users,'tag' =>$key]);
    }
}

search.blade.php

{!! $users->render() !!} //Use this code for display pagination.

当我搜索用户时,url 是这样的,

http://myproject/admin/users/search?key=user

但是当我点击分页链接时,网址会像,

http://myproject/admin/users/search/?page=2

?key=user 部分将从网址中丢失。我该如何解决这个问题?

【问题讨论】:

    标签: laravel laravel-5 pagination


    【解决方案1】:

    您应该将此参数附加到您的 pagination links

    {!! $users->appends(['key' => $tag])->render() !!}
    

    【讨论】:

    • 谢谢你,兄弟。这对我很有帮助。
    【解决方案2】:

    在 Laravel 8 中,通过将 ->withQueryString() 添加到 ->paginate(10) 来更改您的 UsersController.php,例如

    public function adminSearch(){
    $input = Input::all();
    if(!empty($input)){
        $key = Input::get('key');
        $users =  User::where('users.name', 'like', '%'.$key.'%')
         ->orWhere('users.email', 'like', '%'.$key.'%')
         ->paginate(10)->withQueryString(); //add withQueryString()
    
        return view('admin.users.search', ['users' => $users]);
             }
       }
    

    欢迎您:Source

    【讨论】:

      【解决方案3】:

      您可以使用 setPath() 方法自定义分页器 URL。

      您可以像这样将它添加到您的控制器 $users->setPath('custom/url');

      【讨论】:

        【解决方案4】:

        对我有用的解决方案:

        https://laravel.io/forum/11-15-2016-ho-to-paginate-search-results

        公认的解决方案说:

        在您显示分页的视图中...

        {{ $results->appends(Request::except('page'))->links() }}
        
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-10
        • 2022-07-21
        • 2016-04-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多