コード例 #1
0
 public function delete()
 {
     //$request_param 		= CRequest::param();
     //$this->_param		= $request_param;
     //$this->initParam();
     if ($role_id = CRequest::param($this->_paramKey)) {
         $model = AdminRole::findOne([$this->_paramKey => $role_id]);
         if ($model->role_id) {
             $innerTransaction = Yii::$app->db->beginTransaction();
             try {
                 $model->delete();
                 # 删除这个role 对应的所有关联的菜单
                 AdminRoleMenu::deleteAll(['role_id' => $role_id]);
                 $innerTransaction->commit();
             } catch (Exception $e) {
                 $innerTransaction->rollBack();
             }
             echo json_encode(["statusCode" => "200", "message" => 'Delete Success!']);
             exit;
         } else {
             echo json_encode(["statusCode" => "300", "message" => "role_id => {$role_id} , is not exist"]);
             exit;
         }
     } else {
         if ($ids = CRequest::param($this->_paramKey . 's')) {
             $id_arr = explode(",", $ids);
             $innerTransaction = Yii::$app->db->beginTransaction();
             try {
                 AdminRole::deleteAll(['in', 'role_id', $id_arr]);
                 # 删除这个role 对应的所有关联的菜单
                 AdminRoleMenu::deleteAll(['in', 'role_id', $id_arr]);
                 $innerTransaction->commit();
             } catch (Exception $e) {
                 $innerTransaction->rollBack();
             }
             echo json_encode(["statusCode" => "200", "message" => "{$ids} Delete Success!"]);
             exit;
         }
     }
     echo json_encode(["statusCode" => "300", "message" => "role_id or ids Param is not Exist!"]);
     exit;
 }
コード例 #2
0
 public function deleteMenu()
 {
     $id = CRequest::param("id");
     if (!$id) {
         echo json_encode(["statusCode" => "300", "message" => "id can not empty"]);
         exit;
     } else {
         $one = AdminMenu::find()->where(" id = " . $id . " AND can_delete = 2 ")->one();
         //echo $one->id;
         if ($one->id) {
             $ids = $this->getMenuAllChildId($id);
             $ids[] = $id;
             # 1. 删除当前分类对应的所有子分类
             # 2. 删除在menu_id 对应到权限中的所有menu_id
             $innerTransaction = Yii::$app->db->beginTransaction();
             try {
                 AdminRoleMenu::deleteAll(['in', 'menu_id', $ids]);
                 $idsStr = implode(",", $ids);
                 $one->deleteAll(" id in (" . $idsStr . ") AND can_delete = 2");
                 $innerTransaction->commit();
                 echo json_encode(["statusCode" => "200", "message" => "delete menu success!  MENU NAME:" . $one->name]);
             } catch (Exception $e) {
                 $innerTransaction->rollBack();
             }
             exit;
         } else {
             echo json_encode(["statusCode" => "300", "message" => "the menu can not delete"]);
             exit;
         }
     }
 }