where('name','LIKE',"%$name%"); if($mer_id) $model = $model->where('mer_id', 'in', [0, $mer_id]); // $count=$model->where('pid',0)->count(); $list=self::tidyMenuTier($model->select(),0); return compact('list'); } public static function tidyMenuTier($menusList,$pid = 0,$navList = []) { foreach ($menusList as $k=>$menu){ $menu = $menu->getData(); $menu['title']=$menu['name']; if($menu['pid'] == $pid){ unset($menusList[$k]); $menu['children'] = self::tidyMenuTier($menusList,$menu['id']); if ($menu['children']) $menu['expand']=true; $navList[] = $menu; } } return $navList; } /** * 获取分类下拉列表 * @param int $id * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ public static function getCateList($id = 10000, $mer_id = ''){ $model = new self(); if($id == 0) $model = $model->where('pid',$id); $model = $model->where('mer_id', 'in', [0, $mer_id]); return sort_list_tier($model->select()->toArray()); } /** * 获取单条信息 * @param $att_id * @return mixed * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ public static function getinfo($att_id){ $model = new self; $where['att_id'] = $att_id; return $model->where($where)->select()->toArray()[0]; } }