溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

利用ThinkPHP怎么對欄目進(jìn)行刪除

發(fā)布時間:2020-12-25 14:02:11 來源:億速云 閱讀:121 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)利用ThinkPHP怎么對欄目進(jìn)行刪除,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

1.前端頁面這里也有一個小小的點(diǎn),就是選擇框的name值應(yīng)給給他賦值為一個id的數(shù)組,value值為該欄目的id。

2.我們在控制器中單獨(dú)寫一個批量刪除的方法

public function privilege_bdel(){
  $ids = I('ids');
  $pri = D('privilege');
  $ids = implode(',', $ids);
  if($ids){
   if($pri->delete($ids)){
    $this->success('批量刪除欄目成功!',U('Privilege/privilege_lst'));
   }else{
    $this->error('批量刪除欄目失敗,請重試!');
   }
  }else{
   $this->error('未選中任何內(nèi)容,請重試!');
  }
 }

這里要將傳過來的id數(shù)組轉(zhuǎn)化為以逗號分隔的字符串如:1,2,3,這樣可以直接進(jìn)行delete操作。

利用ThinkPHP怎么對欄目進(jìn)行刪除

這就是我們dump出來options的結(jié)果,這條也是我們用來判斷刪除時是單個刪除還是批量刪除的依據(jù),如果options[where][id]是一個數(shù)組的話,則說明進(jìn)行的是批量刪除,否則就是單個刪除。

3.在模型中對刪除前構(gòu)造函數(shù)的修改

public function _before_delete($options){
  //批量刪除
  if(is_array($options['where']['id'])){
   $arr = explode(',', $options['where']['id'][1]);
   $sonpri = array();
   foreach ($arr as $k => $v) {
    $sonpri2 = $this->childid($v);
    $sonpri = array_merge($sonpri,$sonpri2);
   }
   $sonpri = array_unique($sonpri);
   $chilrenids = implode(',', $sonpri);
  }else{//單個刪除
   $chilrenids =$this->childid($options['where']['id']);
   $chilrenids = implode(',', $chilrenids);
  }
  if($chilrenids){
   $this->execute("delete from ed_privilege where id in($chilrenids)");
  }
 }

在這里我們寫出批量刪除的代碼(單個刪除之前已經(jīng)寫過,不再提)

將傳過來的字符串轉(zhuǎn)化為不帶逗號的數(shù)組形式存在$arr中,建立一個空數(shù)組$sonpri,然后foreach遍歷,這里先查找出所有的子欄目id(會用childid函數(shù)),存入$sonpri2數(shù)組中 ,再將$sonpri和$sonpri2合并為一個數(shù)組,使用array_merge()函數(shù)完成,這樣我們才算是獲取到了所有子欄目的id,但是我們所獲取的id組中,會出現(xiàn)許多重復(fù)的id,所以這里我們還要進(jìn)行去重的操作,使用array_unique()函數(shù)。最后再進(jìn)行一次數(shù)組的拆分,得到id字符串,再進(jìn)行刪除就大功告成了。

以上就是利用ThinkPHP怎么對欄目進(jìn)行刪除,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI