# 控制器
## 代码
> 注意:如果不需要插入 `auth_rule` 表,`注释一` 部分代码可以不要
> 注意:如果不需要导出,`注释二` 部分代码可以不要
```
<?php
namespace app\agent\controller;
use think\Controller;
use think\Db;
class MenuController extends Controller
{
/**
* 后台菜单编辑提交保存
*/
public function editPost()
{
if ($this->request->isPost()) {
$id = $this->request->param('id', 0, 'intval');
$oldMenu = Db::name('AdminMenu')->where(['id' => $id])->find();
$result = $this->validate($this->request->param(), 'AdminMenu.edit');
if ($result !== true) {
$this->error($result);
} else {
Db::name('AdminMenu')->strict(false)->field(true)->update($this->request->param());
// 注释一:下边全部是对 auth_rule 操作
// $app = $this->request->param("app");
// $controller = $this->request->param("controller");
// $action = $this->request->param("action");
// $param = $this->request->param("param");
// $authRuleName = "$app/$controller/$action";
// $menuName = $this->request->param("name");
//
// $findAuthRuleCount = Db::name('auth_rule')->where([
// 'app' => $app,
// 'name' => $authRuleName,
// 'type' => 'admin_url'
// ])->count();
// if (empty($findAuthRuleCount)) {
// $oldApp = $oldMenu['app'];
// $oldController = $oldMenu['controller'];
// $oldAction = $oldMenu['action'];
// $oldName = "$oldApp/$oldController/$oldAction";
// $findOldRuleId = Db::name('AuthRule')->where(["name" => $oldName])->value('id');
// if (empty($findOldRuleId)) {
// Db::name('AuthRule')->insert([
// "name" => $authRuleName,
// "app" => $app,
// "type" => "admin_url",
// "title" => $menuName,
// "param" => $param
// ]);
// } else {
// Db::name('AuthRule')->where(['id' => $findOldRuleId])->update([
// "name" => $authRuleName,
// "app" => $app,
// "type" => "admin_url",
// "title" => $menuName,
// "param" => $param]);
// }
// } else {
// Db::name('AuthRule')->where([
// 'app' => $app,
// 'name' => $authRuleName,
// 'type' => 'admin_url'
// ])->update(["title" => $menuName, 'param' => $param]);
// }
// 注释二:导出数据
// $this->_exportAppMenuDefaultLang();
$this->success("保存成功!");
}
}
}
}
```
- 附录
- 逻辑与数据模型
- HTML约定-bootstrap
- HTML约定-LayUI
- 角色管理 role
- 数据表
- 列表
- 控制器
- 视图
- 视图-layui
- 角色添加
- 控制器
- 视图
- 角色添加提交
- 控制器
- 验证
- 角色修改
- 控制器
- 视图
- 角色修改提交
- 控制器
- 角色删除
- 控制器
- 权限设置
- 控制器
- 视图
- 模型
- 权限设置提交
- 用户 user
- 数据表
- 列表
- 控制器
- 视图
- 模型
- 添加
- 控制器
- 视图
- 添加提交
- 控制器
- 验证器
- 编辑
- 控制器
- 视图
- 编辑提交
- 控制器
- 验证器
- 删除
- 停用启用
- 角色用户中间表role_user
- 菜单管理
- 数据表
- 表格折叠列表
- 控制器
- 视图
- 全部列表
- 控制器
- 视图
- 填加
- 控制器
- 视图
- 填加提交
- 控制器
- 验证器
- 编辑
- 控制器
- 视图
- 编辑提交
- 控制器
- 验证器
- 删除
- 控制器
- 视图
- 导入菜单
- 视图
- 控制器
- 特别注意
- annotation
- 导出菜单
- 视图
- 控制器
- 排序
- 控制器
- 视图
- 模型