찾다
백엔드 개발PHP 튜토리얼열을 삭제하는 방법은 무엇입니까?

일부 웹 사이트 프로젝트를 수행할 때 이러한 문제가 발생합니다. 열을 삭제하면 이 열이 맨 아래 열이 아닙니다. 즉, 삭제된 열에 하위 열이 있습니다. Column 명령의 경우, 클래스의 상위 열이 삭제된 후에도 데이터베이스에 하위 열이 계속 표시되거나 존재하도록 할 수 없기 때문에 해당 열과 해당 하위 열을 함께 삭제해야 합니다. 삭제가 발생합니다.

첫 번째 사진 :

간단한 권한 관리 페이지입니다. 사진에서 관리자 권한은 최상위 권한이고, 컬럼 관리는 관리자 권한의 하위 권한이며, 컬럼 추가는 하위 권한입니다. 이러한 3단계 분류의 경우 달성하려는 효과는 다음과 같습니다. 관리자 권한이 삭제되면 열 관리 권한과 열 추가 권한이 동시에 삭제됩니다. 열 추가 권한도 동시에 삭제되며, 열 추가 권한도 동시에 삭제됩니다.

다음 구현 방법:

1. 컨트롤러에서 간단한 삭제 방법입니다:

1     public function privilege_del(){2         $pri = D('privilege');3         $id = I('id');4         if($pri->delete($id)){5             $this->success('删除权限成功!',U('Privilege/privilege_lst'));6         }else{7             $this->error('删除权限失败!');8         }9     }

2. 생각해보면 우리가 원하는 동시 삭제의 결과는 실제로는 선택했을 때입니다. 삭제할 상위 열 때 코드는 먼저 열 범주의 가장 낮은 하위 열을 삭제하는 데 도움을 준 다음 위쪽으로 삭제하고 마지막으로 선택한 상위 수준 열을 삭제하므로 Operate_before_delete에 대한 사전 생성자를 작성해야 합니다. ($options) 이것은 ThinkPHP가 제공하는 기능으로, delete 메소드를 실행하기 전에 이 기능을 실행하는 것입니다. 여기서 $options는 삭제하려는 정보, 특히 $options를 덤프할 때 2차원 배열입니다. 결과는 다음과 같습니다.

즉, 이 정보의 ID 값을 얻으려면 $ options ['where'] ['id']만 얻으면 됩니다. 배열도 하나의 배열이라고 하면 일괄삭제를 한다는 뜻인데, 이는 단일삭제와 일괄삭제의 차이이기도 합니다. 단일 삭제에 대해서만 작성합니다.

 먼저 모든 데이터를 가져오는 childid 메소드를 작성하세요. 여기서 $priid는 삭제하려는 열의 ID입니다.

1 public function childid($priid){2         $data = $this->select();3         return $this->getchildid($data,$priid);4     }

 그런 다음 모든 데이터를 기반으로 삭제하려는 열 아래의 하위 열을 찾습니다. 데이터 ID를 삭제해야 하는 모든 ID를 가져오기 위해 다시 getchildid 메소드를 생성합니다.

 1 public function getchildid($data,$parentid){ 2         static $ret=array(); 3         foreach ($data as $k => $v) { 4             if($v['parentid']==$parentid){ 5                 $ret[]=$v['id']; 6                 $this->getchildid($data,$v['id']); 7             } 8         } 9         return $ret;10     }

다시 모든 데이터의 하위 열을 쿼리한 후 하위 열의 하위 열을 쿼리하고 마지막으로 모든 데이터를 쿼리합니다. 열의 하위 열 ID 버전은 ret 배열에 저장되어 반환됩니다.

마지막으로 생성자에서

1      public function _before_delete($options){2         //单个删除3         $chilrenids =$this->childid($options['where']['id']);4         $chilrenids = implode(',', $chilrenids);    
5         if($chilrenids){6             $this->execute("delete from ed_privilege where id in($chilrenids)");7         }8     }

를 호출하여 얻은 ID 번호를 쉼표로 구분합니다. 이때 삭제 메서드를 더 이상 사용하여 데이터를 삭제할 수 없기 때문에 생성자가 다시 호출되어 무한이 됩니다. 루프이므로 데이터를 삭제하려면 여기에서 SQL 문을 실행해야 합니다.

위 내용은 한 열에서 모두 삭제된 내용입니다.

위 내용은 열을 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
从 Windows 10/11 中删除用户帐户的 5大方法 [2023]从 Windows 10/11 中删除用户帐户的 5大方法 [2023]Jun 27, 2023 am 08:34 AM

您的WindowsPC上有多个过时的帐户?或者,由于某些错误,您是否在从系统中删除这些帐户时陷入困境?无论出于何种原因,您都应该尽快从计算机中删除那些未使用的用户帐户。这样,您将节省大量空间并修复系统中可能的漏洞点。在本文中,我们通过详细步骤详细阐述了多种用户帐户删除方法。方法1–使用设置这是从系统中删除任何帐户的标准方法。步骤1–按Win+I键应打开“设置”窗口。步骤2–转到“帐户”。第3步–找到“其他用户”将其打开。第4步–您将在屏幕右侧找到所有帐户。步骤5–只需在那里扩展帐户即可。在帐户和

windows7系统如何删除administrator账户的详细教程windows7系统如何删除administrator账户的详细教程Jul 11, 2023 pm 10:09 PM

windows7系统如何删除administrator账户呢?很多用户的电脑当中都有多个administrator账户,不过有些账户是使用不到的,所以我们可以删除那些没有必要的管理员账户,那么win7系统如何删除administrator账户呢?今天为大家分享win7系统删除administrator账户的方法。感兴趣的小伙伴们快来看看吧!1、首先,右键点击桌面上的“计算机”图标,菜单栏选择“管理”。2、在计算机管理界面中,依次展开“系统工具——>本地用户——>用户”选项。3、然后在

使用LinkedList类的removeLast()方法删除链表中的最后一个元素使用LinkedList类的removeLast()方法删除链表中的最后一个元素Jul 24, 2023 pm 05:13 PM

使用LinkedList类的removeLast()方法删除链表中的最后一个元素LinkedList是Java集合框架中常见的一种数据结构,它以双向链表的形式存储元素。通过LinkedList类提供的方法,我们可以方便地对链表进行操作,例如添加、删除和修改元素。在某些场景下,我们可能需要删除链表中的最后一个元素。LinkedList类提供了removeLas

怎么彻底删除快应用怎么彻底删除快应用May 31, 2023 am 09:48 AM

彻底删除快应用的方法:1、打开手机设置界面,点击打开“应用设置”;2、在应用设置界面,选择“应用管理”点击打开;3、进入应用管理界面,界面选择“快应用服务框架”点击打开;4、进入快应用服务框架界面,选择“卸载更新”选项并打开;5、界面显示窗口点击“确定”即可彻底删除快应用。

PHP函数介绍—unlink(): 删除文件PHP函数介绍—unlink(): 删除文件Jul 25, 2023 pm 10:19 PM

PHP函数介绍—unlink():删除文件概述:在PHP中,unlink()是一个删除文件的函数。它可以帮助我们在代码中删除指定路径下的文件。语法:unlink(string$filename[,resource$context]):bool参数:filename:必需,要删除的文件路径,可以是相对路径或绝对路径。context:可

如何通过PHP ZipArchive实现对压缩包中文件的删除操作?如何通过PHP ZipArchive实现对压缩包中文件的删除操作?Jul 21, 2023 pm 07:29 PM

如何通过PHPZipArchive实现对压缩包中文件的删除操作?概述:ZipArchive是PHP中用于创建和读取ZIP压缩文件的类。除了创建和读取,ZipArchive还提供了其他一些操作,例如删除、重命名、复制和解压缩等。本文将重点介绍如何使用ZipArchive类来删除压缩包中的文件。步骤:在进行删除操作之前,我们需要先打开压缩包并检查是否存在目标文

Win7系统删除多余的本地连接2Win7系统删除多余的本地连接2Jul 19, 2023 pm 06:21 PM

在查看Win7系统的计算机网络连接时,有时会发现除了本地连接外,还有一个本地连接2。了解后,我们知道这是一个多余的网卡本地连接地址。由于本地连接2的存在,有时本地连接无法连接,因此无法上网。我们如何删除多余的本地连接2?Win7系统删除多余的本地连接2。1.点击开始菜单,搜索运行按下回车键或直接按Windows键(窗口)+R键,打开运行对话框;2.在运行对话框中输入regedit,并按确定键;3.在注册表编辑器中,展开到HKEY_LOCAL_MCHINE\SYSTEM\Curentcontrol

文件不会在 Windows 11 上删除?强制擦除它们的4种方法文件不会在 Windows 11 上删除?强制擦除它们的4种方法Jul 07, 2023 pm 12:21 PM

许多Windows11用户抱怨由于某种原因无法从他们的PC中删除。这可能很烦人,因为它会阻止用户释放内存或删除不需要的文件。但是,我们将讨论为什么文件不会在Windows11上删除以及如何修复它。另外,您可能对我们的文章感兴趣,如果文件资源管理器删除的文件仍显示在您的计算机上,该怎么办。为什么我的电脑不允许我删除文件?如果您不是文件所有者或您的用户帐户没有适当的访问权限,则可能会发生这种情况。该文件可能正被另一个程序或进程使用,从而阻止其被删除。操作系统或第三方程序可能会锁定文件或文件夹。如果计

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기