我正在使用IBOutlet
。这是我的代码,
routes.php文件
laravel 5.1
UsersController.php
Route::any('users/search', array('as' => 'adminuserssearch', 'uses' => 'UsersController@adminSearch'));
search.blade.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]);
}
}
当我搜索用户时,网址就像,
{!! $users->render() !!} //Use this code for display pagination.
但是当我点击分页链接时,网址就会像
一样http://myproject/admin/users/search?key=user
http://myproject/admin/users/search/?page=2
部分将从网址中丢失。我该如何解决这个问题?
答案 0 :(得分:1)
您应该将此参数附加到pagination links。
{!! $users->appends(['key' => $tag])->render() !!}
答案 1 :(得分:0)
您可以使用setPath()
方法对配置程序网址进行成本计算。
您可以像$users->setPath('custom/url');
答案 2 :(得分:0)
在 Laravel 8 中,通过添加 ->withQueryString() 到 ->paginate(10) e.g
来更改您的 UsersController.phppublic 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 :(得分:-3)
对我有用的解决方案:
https://laravel.io/forum/11-15-2016-ho-to-paginate-search-results
公认的解决方案是:
在您显示分页的视图中...
{{ $results->appends(Request::except('page'))->links() }}