菜单的编辑、删除功能!【没有复制源码-敲过的】

Original 2019-03-02 21:57:03 212
abstract:<?php/** * Created by PhpStorm. * User: Administrator * Date: 2019-03-02 * Time: 21:57 */namespace app\admins\controller;use think\Controller;use Util\SysDb;use app\admins\controller\Base;class Men

<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2019-03-02
* Time: 21:57
*/

namespace app\admins\controller;
use think\Controller;
use Util\SysDb;
use app\admins\controller\Base;
class Menu extends Base
{
   public function index()
   {
       //如果有父菜单那么
       $pid = (int)input('get.pid');
       $where['pid'] = $pid;

       // 加载菜单列表
       $data['lists'] = $this->db->table('admin_menus')->where($where)->order('ord asc')->lists();
       $data['pid'] = $pid;

       // 子菜单
       if($pid>0){
           $parent = $this->db->table('admin_menus')->where(array('mid'=>$pid))->item();
           $data['backid'] = $parent['pid'];
       }
       return $this->fetch('',$data);
   }

   //添加、编辑菜单
   public function add()
   {
       $pid = (int)input('get.pid');
       $mid=(int)input('get.mid');
       $data['parent_menu'] = $this->db->table('admin_menus')->where(array('pid'=>$pid))->item();
       $data['menu'] = $this->db->table('admin_menus')->where(array('mid'=>$mid))->item();
       //菜单添加视图
       return $this->fetch('',$data);
   }

   //保存菜单
   public function save()
   {

       //获得mid
       $mid = (int)input('post.mid');
       $data['pid'] = (int)input('post.pid');
       $data['title'] = trim(input('post.title'));
       $data['controller'] = trim(input('post.controller'));
       $data['method'] = trim(input('post.method'));
       //强制转换
       $data['ord'] = (int)input('post.ord');
       $data['ishidden'] = (int)input('post.ishidden');
       $data['status'] = (int)input('post.status');

       //判断
       if($data['title'] == ''){
           exit(json_encode(array('code'=>1,'msg'=>'菜单名称不能为空')));
       }
       if($data['controller'] == ''){
           exit(json_encode(array('code'=>1,'msg'=>'控制器名称不能为空')));
       }
       if($data['method'] == ''){
           exit(json_encode(array('code'=>1,'msg'=>'方法名称不能为空')));
       }

       if($mid){
           $res = $this->db->table('admin_menus')->where(array('mid'=>$mid))->update($data);
       }else{
           $res = $this->db->table('admin_menus')->insert($data);
       }
       if(!$res){
           exit(json_encode(array('code'=>1,'msg'=>'保存失败')));
       }
       exit(json_encode(array('code'=>0,'msg'=>'保存成功')));
   }

   //删除菜单
   public function delete(){
       $mid = (int)input('post.mid');
       $res = $this->db->table('admin_menus')->where(array('mid'=>$mid))->delete();

       if(!res){
           exit(json_encode(array('code'=>1,'msg'=>'删除失败!')));
       }

       exit(json_encode(array('code'=>0,'msg'=>'删除成功!')));

   }
}

Correcting teacher:西门大官人Correction time:2019-03-03 10:15:03
Teacher's summary:非常好。在控制器的开头,因为Menu控制器已经继承了Base控制器,所以没有必要再引入Util\SysDb了

Release Notes

Popular Entries