作者 lyh

Merge branch 'dev' of http://47.244.231.31:8099/zhl/globalso-v6 into dev

... ... @@ -26,6 +26,9 @@ class CategoryController extends BaseController
}
$sort = ['id' => 'desc'];
$data = $logic->getList($map, $sort, ['id', 'pid', 'title', 'image', 'keywords', 'describe', 'status','created_at'],0);
foreach ($data as &$v){
$v['product_num'] = $logic->getProductNum($v['id']);
}
return $this->success(Arr::listToTree($data));
}
... ...
... ... @@ -54,4 +54,16 @@ class CategoryLogic extends BaseLogic
}
return parent::delete($ids);
}
/**
* 关联产品数量
* @param $cate_id
* @return mixed
* @author zbj
* @date 2023/4/28
*/
public function getProductNum($cate_id){
$ids = $this->model->getChildIdsArr($cate_id);
return CategoryRelated::whereIn('cate_id', $ids)->count();
}
}
... ...
... ... @@ -14,6 +14,12 @@ class Category extends Base
//设置关联表名
protected $table = 'gl_product_category';
/**
* 子分类
* @var array
*/
protected $child_ids_arr = [];
public function getImageAttribute($value)
{
return Upload::path2url($value);
... ... @@ -23,4 +29,37 @@ class Category extends Base
{
$this->attributes['image'] = Upload::url2path($value);
}
/**
* 获取指定分类的所有子分类IDS(包括自己)
* @param $id
* @return array
* @author zbj
* @date 2023/4/28
*/
public function getChildIdsArr($id)
{
$this->child_ids_arr = [$id];
return $this->getChildrenIdArr($id);
}
/**
* 递归获取指定分类的所有子孙
* @param $id
* @return array
* @author zbj
* @date 2023/4/28
*/
protected function getChildrenIdArr($id)
{
$list = parent::where("pid", $id)->pluck('pid', 'id');
if ($list) {
foreach ($list as $id => $pid) {
$this->child_ids_arr[] = $id;
$this->getChildrenIdArr($id);
}
}
return $this->child_ids_arr;
}
}
... ...