获取分页数列表

This commit is contained in:
Edward Yang 2023-01-11 17:30:23 +08:00
parent 421c73fe7e
commit 79f6f77e2d
2 changed files with 22 additions and 6 deletions

View File

@ -67,6 +67,21 @@ class CategoryRepo
return DB::select($sql);
}
/**
* 生成每页产品数列表, 客户可以自己选择如何分页
*
* @return array
*/
public static function getPerPages(): array
{
$perPages = [];
$configPerPage = system_setting('base.product_per_page', 20);
for ($index = 1; $index <= 5; $index++) {
$perPages[] = $configPerPage * $index;
}
return $perPages;
}
/**
* 获取顶级及其子分类
*/
@ -150,9 +165,9 @@ class CategoryRepo
$pathName .= $path->pathCategory->description->name;
}
$results[] = [
'id' => $category->id,
'id' => $category->id,
'status' => $category->active,
'name' => $pathName,
'name' => $pathName,
];
}
@ -167,7 +182,7 @@ class CategoryRepo
{
if (is_int($category)) {
$category = Category::query()->findOrFail($category);
} elseif (! ($category instanceof Category)) {
} elseif (!($category instanceof Category)) {
throw new \Exception('invalid category');
}
$category->descriptions()->delete();
@ -183,7 +198,7 @@ class CategoryRepo
*/
public static function getName($category)
{
$id = is_int($category) ? $category : $category->id;
$id = is_int($category) ? $category : $category->id;
$categories = self::getAllCategoriesWithName();
return $categories[$id]['name'] ?? '';
@ -199,11 +214,11 @@ class CategoryRepo
return self::$allCategoryWithName;
}
$items = [];
$items = [];
$categories = self::getBuilder()->select('id')->get();
foreach ($categories as $category) {
$items[$category->id] = [
'id' => $category->id,
'id' => $category->id,
'name' => $category->description->name ?? '',
];
}

View File

@ -27,6 +27,7 @@ class CategoryController extends Controller
'filter_data' => ['attr' => ProductRepo::getFilterAttribute($filterData), 'price' => ProductRepo::getFilterPrice($filterData)],
'products_format' => $products->jsonSerialize(),
'products' => $products,
'per_pages' => CategoryRepo::getPerPages(),
];
return view('category', $data);