【发布时间】:2020-05-15 22:37:22
【问题描述】:
主要问题似乎是分页,导致相同的代码 ->get 返回一些项目,但 ->paginate 什么也不返回。
$products = DB::table('categories_products')
->leftJoin('categories', 'categories_products.categories_id', '=', 'categories.id')
->leftJoin('products', 'categories_products.products_id', '=', 'products.id')
->select('categories_products.categories_id as c_id',
'categories.name as c_name',
'categories.img as c_img',
'categories_products.products_id as p_id',
'products.name as p_name',
'products.img as p_img');
if(request()->has('category')){
$products = $products->where('c_id', request('category'));
}
$products = $products->orderBy('p_name')->groupBy('p_id')->paginate(9)
->appends(['category' => request('category')]);
dd($products);
- 预期结果:
- 项目:10,
- 页数:2;
- 代码结果:
- 项目:0,
- 页数:1;
将 paginate->appends 更改为 ->get:
$products = $products->orderBy('p_name')->groupBy('p_id')->paginate(9)
->appends(['category' => request('category')]);
dd($products);
到
$products = $products->orderBy('p_name')->groupBy('p_id')->get();
dd($products);
- 返回:
- 项目:10;
【问题讨论】:
-
请添加代码而不是屏幕截图
-
这个问题你不会得到任何答案。请以文本形式发布您的代码和结果以及您期望的结果。
标签: php laravel pagination