🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
>这边使用的validate方法是实例化\think\validate方法,然后调用$validate参数。 个人的想法是,之后后台吧menu做的好了,然后才好去做权限,接着再做登录模块。 <?php namespace app\admin\Controller; use think\Controller; use think\Request; use think\Db; use app\Admin\Model\Menu as MenuModel; Class Menu extends Controller { public function add() { $menu = new MenuModel(); if (request()->isPost()) { $data = input('post.'); //验证Menu添加数据 $validata = \think\Loader::Validate('Menu'); if (!$validata->scene('add')->check( $data)){ $this->error($validate->getError()); } $add = $menu->save($data ); if ($add !== false) { $this->success('增加后台菜单成功', 'Menu/index'); } else { $this->error('增加菜单失败'); } } $menuData = db('menu')->field(true)->select(); $menuList = $menu->list_to_tree($menuData); $this->assign('menuList', $menuList); return view(); } public function index() { $menu = new MenuModel(); $menuData = db('Menu')->select(); $menuList = $menu->list_to_tree($menuData); $this->assign('menuList', $menuList); return view(); } public function del($id) { $del = db('menu')->delete($id); if ($del) { $this->success('删除菜单成功'); } else { $this->error('删除菜单失败'); } } public function edit($id) { if (request()->isPost()) { $data = input('post.'); //修改时数据验证 $validata = \think\Loader::Validate('Menu'); if (!$validata->scene('edit')->check( $data)) { $this->error($validata->getError()); } //修改操作 $edit = db('menu')->where('id', $id)->update( $data); if ($edit) { $this->success('修改菜单项成功', 'Menu/index'); } else { $this->error('修改失败'); } } else { if (empty($id)) { return $this->error('没有选择id'); } $map['id'] = $id; $menuData = db('menu')->find($id); //Menu信息分叉成树 $menuList = db('menu')->select(); $menuTree = list_to_tree( $menuList); $this->assign( array( 'menuTree' => $menuTree, 'menu' => $menuData, )); return view(); } } }