Merge pull request '修改商品列表搜索' (#16) from dev into main
Reviewed-on: #16
This commit is contained in:
commit
4f7c8ffa85
@ -91,5 +91,10 @@ class StoreCategoryController extends BaseAdminController
|
||||
return $this->data($result);
|
||||
}
|
||||
|
||||
public function tree()
|
||||
{
|
||||
$result = StoreCategoryLogic::tree();
|
||||
return $this->data($result);
|
||||
}
|
||||
|
||||
}
|
@ -57,12 +57,12 @@ class StoreProductLists extends BaseAdminDataLists implements ListsSearchInterfa
|
||||
$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) {
|
||||
$this->searchWhere[] = ['top_cate_id', '=', $class_all[0]];
|
||||
} elseif (count($class_all) == 2) {
|
||||
$this->searchWhere[] = ['two_cate_id', '=', $class_all[1]];
|
||||
} else {
|
||||
$this->searchWhere[] = ['cate_id', '=', $class_all];
|
||||
$this->searchWhere[] = ['cate_id', '=', $class_all[2]];
|
||||
}
|
||||
}
|
||||
$is_warehouse = $this->request->get('is_warehouse', 0);
|
||||
|
@ -108,4 +108,11 @@ class StoreCategoryLogic extends BaseLogic
|
||||
{
|
||||
return StoreCategory::findOrEmpty($params['id'])->toArray();
|
||||
}
|
||||
|
||||
public static function tree()
|
||||
{
|
||||
$data = StoreCategory::field('id,pid,name')->order('id desc')->select()->toArray();
|
||||
return list2tree($data);
|
||||
}
|
||||
|
||||
}
|
@ -584,3 +584,30 @@ function SqlChannelPriceLog($product_id=0, $group_id=0, $before_price=0,$after_p
|
||||
// return $orderId;
|
||||
// }
|
||||
// }
|
||||
|
||||
if (!function_exists('list2tree')) {
|
||||
function list2tree(array $list, $idKey = 'id', $parentKey = 'pid', $childrenKey = 'children')
|
||||
{
|
||||
$tree = [];
|
||||
$itemsByReference = [];
|
||||
|
||||
// 首先将所有项目按id存入引用数组
|
||||
foreach ($list as &$item) {
|
||||
$itemsByReference[$item[$idKey]] = &$item;
|
||||
$item[$childrenKey] = [];
|
||||
}
|
||||
|
||||
// 构建树
|
||||
foreach ($list as &$item) {
|
||||
if ($item[$parentKey] && isset($itemsByReference[$item[$parentKey]])) {
|
||||
$itemsByReference[$item[$parentKey]][$childrenKey][] = &$item;
|
||||
} else {
|
||||
$tree[] = &$item;
|
||||
}
|
||||
}
|
||||
|
||||
return $tree;
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user