diff --git a/app/admin/lists/store_product/StoreProductLists.php b/app/admin/lists/store_product/StoreProductLists.php index 32cc34733..596854c3e 100644 --- a/app/admin/lists/store_product/StoreProductLists.php +++ b/app/admin/lists/store_product/StoreProductLists.php @@ -73,7 +73,6 @@ class StoreProductLists extends BaseAdminDataLists implements ListsSearchInterfa } $class_all = $this->request->get('class_all'); if ($class_all) { - //查3级别的 if (count($class_all) == 1) { $query->where('top_category_id', $class_all[0]); } elseif (count($class_all) == 2) { @@ -183,20 +182,21 @@ class StoreProductLists extends BaseAdminDataLists implements ListsSearchInterfa public function count(): int { $export = $this->request->get('export'); + $query = StoreProduct::where($this->searchWhere); if ($export == 1) { $class_all = $this->request->get('class_all'); if ($class_all) { - //查3级别的 - $arr = Cate::where('pid', $class_all)->column('id'); - if ($arr) { - $arr2 = Cate::where('pid', 'in', $arr)->column('id'); - $this->searchWhere[] = ['cate_id', 'in', array_merge($arr, $arr2)]; + if (count($class_all) == 1) { + $query->where('top_category_id', $class_all[0]); + } elseif (count($class_all) == 2) { + $query->where(function ($query) use ($class_all) { + $query->where('two_cate_id', $class_all[1])->whereOr('cate_id', $class_all[1]); + }); } else { - $this->searchWhere[] = ['cate_id', '=', $class_all]; + $query->where('cate_id', $class_all[2]); } } } - $query = StoreProduct::where($this->searchWhere); if (isset($this->params['type_filter'])) { if ($this->params['type_filter'] == 0) { $query->where(function ($query) {