Cas*_*uit 14 php search pagination laravel laravel-5
我刚开始使用Laravel,我正在尝试使用适当的分页来创建搜索功能.该功能适用于第一页,但第二页则不适用.我认为这不会给下一页的结果,但我似乎无法找到答案.
这是我在IndexController中的搜索功能:
public function search()
{
$q = Input::get('search');
# going to next page is not working yet
$product = Product::where('naam', 'LIKE', '%' . $q . '%')
->orWhere('beschrijving', 'LIKE', '%' . $q . '%')
->paginate(6);
return view('pages.index', compact('product'));
}
Run Code Online (Sandbox Code Playgroud)
这是我的路线:
Route::post('search{page?}', 'IndexController@search');
Run Code Online (Sandbox Code Playgroud)
这是第二页的URL:
/search?page=2
Run Code Online (Sandbox Code Playgroud)
这是我展示我的分页的方式:
{{ $product->appends(Request::get('page'))->links()}}
Run Code Online (Sandbox Code Playgroud)
错误:
MethodNotAllowedHttpException in RouteCollection.php line 218:
Run Code Online (Sandbox Code Playgroud)
根据要求获取错误.
路线:
Route::get('search/{page?}', 'IndexController@search');
Run Code Online (Sandbox Code Playgroud)
错误:
MethodNotAllowedHttpException in RouteCollection.php line 218:
in RouteCollection.php line 218
at RouteCollection->methodNotAllowed(array('GET', 'HEAD')) in RouteCollection.php line 205
at RouteCollection->getRouteForMethods(object(Request), array('GET', 'HEAD')) in RouteCollection.php line 158
at RouteCollection->match(object(Request)) in Router.php line 780
at Router->findRoute(object(Request)) in Router.php line 610
at Router->dispatchToRoute(object(Request)) in Router.php line 596
at Router->dispatch(object(Request)) in Kernel.php line 267
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 149
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 53
Run Code Online (Sandbox Code Playgroud)
我希望我的问题清楚,格式正确.提前谢谢(抱歉我的英语不好)
回答:
我最后结合这篇文章的一些帮助结合了这篇文章的答案
我使用post函数进行初始搜索,并使用get函数进行后续页面.这是可能的,因为我现在正在搜索URL.
编辑:
Route::get错误And*_*kov 28
如果要将过滤器应用于下一页,则应将它们添加到您的分页器中,如下所示:
$product = Product::where('naam', 'LIKE', '%' . $q . '%')
->orWhere('beschrijving', 'LIKE', '%' . $q . '%')
->paginate(6);
$product->appends(['search' => $q]);
Run Code Online (Sandbox Code Playgroud)
并改变你的路线从post到get:
Route::get('search', 'IndexController@search');
Run Code Online (Sandbox Code Playgroud)
ytd*_*tdm 11
快速查看方式(Lavarel 5.7)
$product->appends(Request::all())->links();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21382 次 |
| 最近记录: |