首页 > 解决方案 > 分页laravel集合返回404

问题描述

我已经对我的收藏进行了分页,它显示了分页,但是当我单击页码时,它返回 404 错误

Route

Route::post('search', 'front\SearchController@results')->name('search');

Blade (form)

<form action="{{route('search')}}" method="POST">
  @csrf
  @method('POST')
  <input  class="input" type="search" name="q">
</form>

Controller

public function results(Request $request) {
  $q = $request->input('q');
  $rres = array_merge('//my data...');
  $perPage = 12;
  $page = null ?: (Paginator::resolveCurrentPage() ?: 1);
  $items = $rres instanceof Collection ? $rres : Collection::make($rres);
  $rres = new LengthAwarePaginator($items->forPage($page, $perPage), $items->count(), $perPage, $page, [
    'path' => Paginator::resolveCurrentPath()
  ]);
  return view('front.pages.new-search', compact('q', 'rres'))->withQuery($q);
}

Blade (pagination)

{{$rres->links('front.pages.search-paginate')}}
// URL of other pages is like:
// http://example.com/search?page=2
// while url of page 1 is like
// http://example.com/search (refer to route code above)

任何想法?

标签: phplaravel

解决方案


链接只支持GETHEAD方法,尝试添加:

Route::get('search', 'front\SearchController@results')->name('search');

请注意,您只需在上面添加,无需POST从路由中删除您的 -method。


推荐阅读