Laravel 5.6:POST 路由的分页在除第一个以外的所有链接上给出空白页

Laravel 5.6: Pagination for a POST route gives blank pages on all links except first

我有一个与 post 方法配合使用的搜索表单,但问题是分页链接不起作用。除第一页外,其他页面均为空白页。我在某处读到分页不适用于 POST 方法。 但是,当我更改我的表单并路由到 "get" 方法时,即使在第一页上我也会得到空白页。什么都没有显示。

这是我的路线

Route::get('reports/search','ReportsController@search');

这是我的表格

<form method="get" class="form-horizontal" action="{{action('ReportsController@search')}}">
    <!--  {{csrf_field()}} used only with POST-->
    <input type="text" name="search" id="search">
    <button type="submit" class="btn btn-primary"> Submit</button>
</form>

这是我的控制器代码

public function search(Request $request)
{
    $showData = sys_data::paginate(10);
    return view('reports-data-view', compact('showData'));
}

问题是当我将表单和路由方法更改为 POST 时,它可以工作,但分页链接显示空白页。

当我将方法更改为 GET 时,它不起作用。我一点击提交按钮就显示空白页。

如有任何帮助,我们将不胜感激。提前致谢。

在您的表单中使用它

<form method="get" class="form-horizontal" action="{{url('reports/search')}}">

没关系,我想通了。

实际上,由于 GET link 是 /reports/search,请求将默认转到控制器的 "show($id)" 函数,因为它在 link 作为参数。

我所做的只是将路由更改为“/reports/search/view”,它开始工作并转到我的 ReportsController 中正确的自定义函数 "search()"。