gpt4 book ai didi

php - 拉拉维尔 : How to specify the number of items in pagination via route variable

转载 作者:行者123 更新时间:2023-12-02 16:58:26 25 4
gpt4 key购买 nike

我希望更改通过分页显示的项目数量,通过以下路由在 Controller 中指定,以设置分页每个页面上显示的产品数量。

举个例子,如果用户输入http://example.com/first-category?numProducts=99,他们将看到 View '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

Controller 看起来像这样:

// 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'));
}

最佳答案

您不需要在路由文件中指定查询字符串参数。您可以将它们作为请求的输入进行访问。

public function subIndex(Request $request, $cat)
{
$num_items = $request->input('numProducts');
$category = Category::where('permalink', $cat)->first();
$products = ProductGroup::where('category', $category->id)->orderBy('id', 'asc')->paginate($num_items);
return view('pages.category',compact('products', 'category'));
}

请记住包括:

use Illuminate\Http\Request;

关于php - 拉拉维尔 : How to specify the number of items in pagination via route variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48749796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com