Получите количество продуктов в подкатегории, а также общее количество основной категории в подкатегориях.Php

Кемеровские программисты php общаются здесь
Anonymous
Получите количество продуктов в подкатегории, а также общее количество основной категории в подкатегориях.

Сообщение Anonymous »

Если в дочерней категории есть товары, я хочу посчитать все товары в родительской категории этой дочерней категории.
например:
  • Категория 1 (Общий продукт 10) // как я могу это получить
    • Категория 1.1 (Общий продукт 5)
    • Категория 1.2 (Всего продуктов 3)
    • Категория 1.3 (Всего продуктов) Продукт 2)
Код Json:< /p>
id: 291,
level: 1,
parent_id: null, //parent category
name: "Chemicals",
bn_name: null,
sector: "product",
slug: "Chemicals",
status: "active",
created_at: "2021-04-16T23:53:52.000000Z",
updated_at: "2021-04-16T23:53:52.000000Z",
**products_count: 0,**
total_items: 1,
sub_categories: [

id: 292,
level: 2,
parent_id: 291,
name: "Activated Carbon",
bn_name: null,
sector: "product",
slug: "Activated-Carbon",
status: "active",
created_at: "2021-04-16T23:53:52.000000Z",
updated_at: "2021-04-16T23:53:52.000000Z",
products_count: 0,
total_items: 0,
sub_categories: [ ]
},
{
id: 293,
level: 2,
parent_id: 291,
name: "Adhesives & Sealants",
bn_name: null,
sector: "product",
slug: "Adhesives-&-Sealants",
status: "active",
created_at: "2021-04-16T23:53:52.000000Z",
updated_at: "2021-04-16T23:53:52.000000Z",
products_count: 0,
total_items: 0,
sub_categories: [ ]
},
{
id: 294,
level: 2,
parent_id: 291,
name: "Agro Chemicals", //child category
bn_name: null,
sector: "product",
slug: "Agro-Chemicals",
status: "active",
created_at: "2021-04-16T23:53:52.000000Z",
updated_at: "2021-04-16T23:53:52.000000Z",
**products_count: 1,**
total_items: 1,
sub_categories: [ ]
}

Код контроллера:
return $categories = Category::rootCategories()->with('subCategories')->withCount('products')->orderBy('name', 'ASC')->get();

Модели категорий:
public static function rootCategories() {
return self::whereNull('parent_id')->where('status', 'active')->orderBy('name', 'ASC');
}

public static function productRootCategories() {
return self::whereNull('parent_id')->where(['status' => 'active', 'sector' => 'product'])->orderBy('name', 'asc');
}

public function subCategories() {
return $this->hasMany(self::class, 'parent_id')->where('status', 'active')->with('subCategories')->withCount('products')->orderBy('name', 'asc');
}


Подробнее здесь: https://stackoverflow.com/questions/671 ... e-main-cat

Вернуться в «Php»