【发布时间】:2018-07-22 19:39:27
【问题描述】:
我希望更改通过分页显示的项目数量,通过以下路由在控制器中指定,以设置在每个分页页面上显示的产品数量。
例如,如果用户输入http://example.com/first-category?numProducts=99,他们将看到'pages.category' 视图,分页的每一页中有99 个项目。我想我的路线有问题,但需要一点帮助。
路线:
//First returns single product
Route::get('/products/{cat}/{permalink}', 'ShopController@show')->name('shop.product');
//Second gets all items in category group
Route::get('/products/{cat}', 'ShopController@subIndex')->name('shop.cat');
//Third to pass variable prodNum to ShopController for paginate($prodNum)
Route::get('/products/{cat}?numProducts={prodNum}', 'ShopController@subIndexMore')
ShopController.php
控制器如下所示:
// Shows all items in category, set to 10 items per page via paginate(10)
public function subIndex($cat) {
$category = Category::where('permalink', $cat)->first();
$products = ProductGroup::where('category', $category->id)->orderBy('id', 'asc')->paginate(10);
return view('pages.category',compact('products', 'category'));
}
// Shows all items in category, paginate($prodNum) determines how many items in each page
public function subIndexMore($cat, $prodNum) {
$category = Category::where('permalink', $cat)->first();
$products = ProductGroup::where('category', $category->id)->orderBy('id', 'asc')->paginate($prodNum);
return view('pages.category',compact('products', 'category'));
}
【问题讨论】:
标签: php laravel-5 pagination