You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
namespace wstmart\wechat\model;
 | 
						|
use think\Cache;
 | 
						|
/**
 | 
						|
 * ============================================================================
 | 
						|
 * 商品分类类
 | 
						|
 */
 | 
						|
class GoodsCats extends Base{
 | 
						|
	/**
 | 
						|
	 * 列表
 | 
						|
	 */
 | 
						|
	public function getGoodsCats(){
 | 
						|
		$list = cache('WST_CACHE_GOODS_CAT_MOB');
 | 
						|
		if(!$list){
 | 
						|
			//查询一级分类
 | 
						|
			$trs1s = $this->where(["dataFlag"=>1,"isShow"=>1,"parentId"=>0])->field('catId,parentId,catName')->order('catSort asc')->select();
 | 
						|
			$trs1 = array();
 | 
						|
			$list = array();
 | 
						|
			$rs2 = array();
 | 
						|
			$maprs = array();
 | 
						|
			$ids = array();
 | 
						|
			foreach ($trs1s as $key =>$v){
 | 
						|
				$trs1[$key]['catId'] = $v['catId'];
 | 
						|
				$trs1[$key]['parentId'] = $v['parentId'];
 | 
						|
				$trs1[$key]['catName'] = $v['catName'];
 | 
						|
				$ids[] = $v['catId'];
 | 
						|
			}
 | 
						|
			$ids[] = -1;
 | 
						|
			//查询二级分类
 | 
						|
			$trs2s = $this->where("dataFlag=1 and isShow=1 and parentId in(".implode(',',$ids).")")->field('catId,parentId,catName')->order('catSort asc')->select();
 | 
						|
			$trs2 = array();
 | 
						|
			$ids = array();
 | 
						|
			foreach ($trs2s as $key =>$v){
 | 
						|
				$trs2[$key]['catId'] = $v['catId'];
 | 
						|
				$trs2[$key]['parentId'] = $v['parentId'];
 | 
						|
				$trs2[$key]['catName'] = $v['catName'];
 | 
						|
			}
 | 
						|
			foreach ($trs2 as $v2){
 | 
						|
				$ids[] = $v2['catId'];
 | 
						|
				$maprs[$v2['parentId']][] = $v2;
 | 
						|
			}
 | 
						|
			$ids[] = -1;
 | 
						|
			//查询三级分类
 | 
						|
			$trs3s = $this->where("dataFlag=1 and isShow=1 and parentId in(".implode(',',$ids).")")->field('catId,parentId,catName,catImg')->order('catSort asc')->select();
 | 
						|
			$trs3 = array();
 | 
						|
			$ids = array();
 | 
						|
			foreach ($trs3s as $key =>$v){
 | 
						|
				$trs3[$key]['catId'] = $v['catId'];
 | 
						|
				$trs3[$key]['parentId'] = $v['parentId'];
 | 
						|
				$trs3[$key]['catName'] = $v['catName'];
 | 
						|
				$trs3[$key]['catImg'] = strval($v['catImg']);
 | 
						|
			}
 | 
						|
			foreach ($trs3 as $v2){
 | 
						|
				$maprs[$v2['parentId']][] = $v2;
 | 
						|
			}
 | 
						|
			//倒序建立樹形
 | 
						|
			foreach ($trs2 as $v2){
 | 
						|
				$v2['childList'] = [];
 | 
						|
				if(isset($maprs[$v2['catId']]))$v2['childList'] = $maprs[$v2['catId']];
 | 
						|
				$rs2[] = $v2;
 | 
						|
			}
 | 
						|
			foreach ($trs1 as $v2){
 | 
						|
				foreach ($rs2 as $vv2){
 | 
						|
					if($vv2['parentId']==$v2['catId']){
 | 
						|
						$v2['childList'][] = $vv2;
 | 
						|
					}
 | 
						|
				}
 | 
						|
				$list[] = $v2;
 | 
						|
			}
 | 
						|
			Cache::set('WST_CACHE_GOODS_CAT_MOB',$list);
 | 
						|
		}
 | 
						|
		return $list;
 | 
						|
	}
 | 
						|
}
 |