Laravel:分页的搜索结果,下一页不显示搜索到的关键字的下一页结果

时间:2019-05-16 08:58:06

标签: php laravel

因此,我具有此索引函数,该函数从我的ProductsController的数据库中使用此路由来获取所有产品:

    Route::get('{store}/products', [
        'as'    => 'store.products.show',
        'uses'  => 'ProductsController@index',
    ]);
    public function index(Request $request, $store)
    {
        $store      = Store::where('slug', $store)->firstOrFail();
        $products   = Product::where('store_id', $store->uuid)
                        ->orderBy('display_order', 'ASC')
                        ->orderBy('name')
                        ->paginate();
        $search = null;

        return view('platform-management.products.index', compact(
            'store',
            'products',
            'search'
        ));
    }

当我单击分页中的下一页时,URL更改为http://127.0.0.1:8000/platform-management/store1/products?page=2 并正确显示下一页。 enter image description here  现在我的问题是,我对search_result函数使用了相同的逻辑:

    public function search_results(Request $request, $store)
    {
        $store      = Store::where('slug', $store)->firstOrFail();
        $substr     = $request->search;

        $products = Product::where('name', 'LIKE', "%{$substr}%");


        $products   = $products->where('store_id', $store->uuid)
                        ->orderBy('name')
                        ->paginate();

        return view('platform-management.products.search', compact(
            'store',
            'substr',
            'products'
        ));
    }

使用以下路线:

    Route::get('{store}/products/search', [
        'as'    => 'products.search',
        'uses'  => 'ProductsController@search_results',
    ]);

它可以完成工作并且可以工作。当我尝试搜索单词时,例如: enter image description here

它确实搜索其中带有“ marikit”字样的产品。 请查看网址

现在,如果我单击搜索结果的下一页,

enter image description here

我正在搜索“ marikit”的单词不再包含在url中。搜索结果显示与产品第二页显示的相同。 我试图将网址更改为http://127.0.0.1:8000/platform-management/store1/products/search?search=marikit?page=2,但它只是附加到要搜索的单词上。

enter image description here

我想念什么?谢谢您的时间!

1 个答案:

答案 0 :(得分:1)

查询参数以?开头,并以&分隔。因此您的网址应该是。

http://127.0.0.1:8000/platform-management/store1/products/search?search=marikit&page=2