69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | namespace app\repository; | ||
|  | 
 | ||
|  | 
 | ||
|  | use app\model\BusinessCircle; | ||
|  | use app\model\Category; | ||
|  | use app\model\Model; | ||
|  | use app\service\Repository; | ||
|  | use think\Collection; | ||
|  | 
 | ||
|  | /** | ||
|  |  * 数据字典域 相关 | ||
|  |  * | ||
|  |  * Class DictionaryRepository | ||
|  |  * @package app\repository | ||
|  |  * @method self getInstance(Model $model = null) static | ||
|  |  */ | ||
|  | class DictionaryRepository extends Repository | ||
|  | { | ||
|  |     /** | ||
|  |      * 上下级按children进行递归分组 | ||
|  |      * @param $items | ||
|  |      * @param int $pid | ||
|  |      * @param string $pidField 上下级关联字段 | ||
|  |      * @param string $primaryField 关联关系字段 | ||
|  |      * @return array | ||
|  |      */ | ||
|  |     public function recursionChildrenList($items, int $pid=0, string $pidField = 'pid', string $primaryField='id'): array | ||
|  |     { | ||
|  |         $list = []; | ||
|  |         foreach ($items as $ki => $item) { | ||
|  |             if ($item[$pidField] == $pid) { | ||
|  |                 unset($items[$ki]); | ||
|  |                 $item['children']   = $this->recursionChildrenList($items, $item[$primaryField], $pidField, $primaryField); | ||
|  |                 $list[] = $item; | ||
|  |             } | ||
|  |         } | ||
|  | 
 | ||
|  |         return $list; | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 获取所有的商圈数据 | ||
|  |      */ | ||
|  |     public function getAllBusinessCircleList(array $fields=[]) | ||
|  |     { | ||
|  |         try { | ||
|  |             return BusinessCircle::field($fields) | ||
|  |                 ->order(['sort'=>'desc', 'id'=>'asc']) | ||
|  |                 ->select(); | ||
|  |         } catch (\Exception $e) { | ||
|  |             return new Collection(); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 获取商家分类数据 | ||
|  |      */ | ||
|  |     public function getBusinessTypeList(array $where=[], array $fields = [], callable $call=null, array $order = []) | ||
|  |     { | ||
|  |         try { | ||
|  |             $res = Category::findList($where, $fields, 1, 0, $call, $order); | ||
|  |             return $res['list']; | ||
|  |         } catch (\Exception $e) { | ||
|  |             return new Collection(); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  | } |