【问题标题】:Pagination is not working after get request [Laravel 5.3]获取请求后分页不起作用[Laravel 5.3]
【发布时间】:2016-12-19 22:10:58
【问题描述】:

我有两种方法:

public function specific_shop(Request $request)
{
    $categories = Category::all();
    $products = Product::where('shop_id', $request->id)->orderBy('quantity', 'asc')->paginate(10);
    return view('product.show', compact('products', 'categories'));

}
public function specific_category(Request $request)
{
    $products = Product::where('category_id', $request->id)->orderBy('quantity', 'asc')->paginate(10);
    return view('product.specific', compact('products'));
}

第一个是给我特定商店的产品(从选择输入中选择后),第二个是给我特定类别的产品。

Route::resource('product', 'ProductController');
Route::get('/product/show/shop/specific', 'ProductController@specific_shop');
Route::get('/product/show/category/specific', 'ProductController@specific_category');

当我点击 /product/ 并显示所有产品(未指定)时分页有效,但如果我点击 /product/show/shop/specific(通过表单)分页无法正常工作。似乎它甚至根本不起作用。第一页很好,但如果我点击下一步,它什么也不返回。空白表。我不知道为什么。

【问题讨论】:

    标签: php laravel pagination


    【解决方案1】:

    这样做

     $id = $request->id;
    return view('product.specific', compact('products','id'));
    

    那么在你看来,而不是

    {{ $products->links() }}
    

    这样做

    {{ $products->appends(['id' => $id])->links() }}
    

    问题:id 字段没有被传递到我猜的第二页。

    另外最好把资源路由放在最下面,以免麻烦

    Route::get('/product/show/shop/specific', 'ProductController@specific_shop');
    Route::get('/product/show/category/specific', 'ProductController@specific_category');
    Route::resource('product', 'ProductController');
    

    【讨论】:

    • 谢谢!就是这样。
    猜你喜欢
    • 2017-05-22
    • 2017-07-08
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多