'uid', 'area_id' => 'area_id', 'father_area_id' => 'father_area_id', 'name' => 'name', ]; } public function settingAuth($uid,$post) { //先清除已有权限 if($this::find()->where(['uid'=>$uid])->count() > 0 ) { $this::deleteAll(['uid'=>$uid]); } if(!empty($post['all'])) { $model = new AuthArea(); $model->uid = $uid; $model->area_id = 'all'; $model->save(); }elseif (!empty($post['citys'])) { $datas = array(); foreach ($post['citys'] as $val) { $area = Area::queryAdminCityInfo($val); $datas[] = [$uid,$val,$area['father_area_id'],$area['area']]; } Yii::$app->db->createCommand()->batchInsert("{{%auth_area}}",['uid','area_id','father_area_id','name'],$datas)->execute(); } } /** * 获取选中城市 */ public function queryCheckbox($uid) { $result = ['list'=>array(),'all'=>false]; if($this::find()->where(['uid'=>$uid,'area_id'=>'all'])->count()>0){ $result['all'] = true; return $result; } $list = $this::find()->where(['uid'=>$uid])->select('area_id')->all(); if(!empty($list)) { foreach ($list as $value) $result['list'][] =$value->area_id; } return $result; } /** * 获取权限 */ static public function queryAuth() { if(AuthArea::find()->where(['uid'=>Yii::$app->user->id,'area_id'=>'all'])->count()>0) return 'all'; $result = ""; $list = AuthArea::find()->where(['uid'=>Yii::$app->user->id])->select('area_id')->all(); if(!empty($list)) { foreach ($list as $value) $datas[] =$value->area_id; $result = implode(",",$datas); } return $result; } }