【问题标题】:Pagination with search query带有搜索查询的分页
【发布时间】:2020-07-15 15:54:37
【问题描述】:

控制器:

public function search(Request $request)
{
    $stores = Store::with('router', 'tills', 'backOffices','contacts', 'storeStatus', 'storeStatus', 'storeType', 'scos', 'fuelBrand')->where('store_name', 'like', '%' . $request['find'] . '%')->paginate(13);
    return view('store.index')->with([
        'stores' => $stores,
        'find' => $request['find'],
    ]);
}

查看

<div class="flex-1 mx-10">
    <form action="/store/search" method="POST" name="search" role="search">
        @csrf
        <input id="index-view-search" name="find" type="text" placeholder="Search"
               class="border rounded w-full p-1"
        >
    </form>
</div>
<div class="mx-3">
    @if ( Route::is('store.index') )
        {{ $stores->links()  }}
    @else
        {!! $stores->appends(['find' => $find])->links() !!}
    @endif
</div>

路线

Route::any('/store/search', "StoreController@search")->name('stores.search');

谁能告诉我为什么当我点击这段代码的分页链接时会出现 404 错误?

路由接受 post 或 get,我将搜索词和页码传回.../store/search?find=evans&amp;page=2 是分页实例请求的,我看不出有什么问题

【问题讨论】:

  • 为什么不从“/store”本身搜索呢?只是一个建议:)
  • @SaudQureshi /search GET 是 store.index 和 /search POST 是 store.store 根据资源控制器,否则我也更喜欢

标签: laravel pagination


【解决方案1】:

实际上我想通了,因为我有一个资源控制器,所以store/{id} 处于活动状态,所以我需要重命名 URI。

【讨论】:

  • 是的,您需要在每个页面上传递查询
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-01-28
  • 1970-01-01
  • 2020-11-06
  • 2017-10-30
  • 1970-01-01
  • 2022-09-30
  • 2021-03-11
相关资源
最近更新 更多