52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | namespace app\api\logic; | ||
|  | 
 | ||
|  | use app\common\basics\Logic; | ||
|  | use app\common\model\goods\GoodsBrand; | ||
|  | 
 | ||
|  | class GoodsBrandLogic extends Logic | ||
|  | { | ||
|  |     /** | ||
|  |      * 获取品牌列表 | ||
|  |      */ | ||
|  |     public static function getGoodsBrandList() | ||
|  |     { | ||
|  |         $where = [ | ||
|  |             'del' => 0, // 未删除
 | ||
|  |             'is_show' => 1, // 显示
 | ||
|  |         ]; | ||
|  |         $list = GoodsBrand::field('id,name,image,initial') | ||
|  |             ->where($where) | ||
|  |             ->order('sort', 'asc') | ||
|  |             ->select() | ||
|  |             ->toArray(); | ||
|  | 
 | ||
|  |         return self::format($list); | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 格式化品牌数据 | ||
|  |      */ | ||
|  |     public static function format($list) | ||
|  |     { | ||
|  |         // 生成A-Z字母
 | ||
|  |         $letters = range('A', 'Z'); | ||
|  |         $newList = []; | ||
|  |         foreach($letters as $key => $letter) { | ||
|  |             $newList[$key]['letter'] = $letter; | ||
|  |             $newList[$key]['list'] = []; | ||
|  |             foreach($list as $item) { | ||
|  |                 if(strtoupper($item['initial']) == $letter) { | ||
|  |                     $newList[$key]['list'][] = $item; | ||
|  |                 } | ||
|  |             } | ||
|  |             // 去除字母下没有品牌的项
 | ||
|  |             if(!$newList[$key]['list']) { | ||
|  |                 unset($newList[$key]); | ||
|  |             } | ||
|  |         } | ||
|  |         // 重置下标索引
 | ||
|  |         $newList = array_merge([], $newList); | ||
|  |         return $newList; | ||
|  |     } | ||
|  | } |