/** * 添加权限 * @return boolean */ public function addPermission() { $db = D('DbMysql'); $nested_sets = new \Admin\Service\NestedSets($db, 'permission', 'lft', 'rght', 'parent_id', 'id', 'level'); if ($nested_sets->insert($this->data['parent_id'], $this->data, 'bottom') !== false) { return true; } else { $this->error = '添加失败'; return false; } }
/** * 重写基础模型类中的add方法,调用了nestedsets的机制。 * @return boolean */ public function add() { $data = $this->data; //获取用户提交的数据 //1实例化需要执行计算的NestedSets //1.1创建一个用于执行数据库命令的对象 $db_mysql_model = D('DbMysql'); $nested_sets = new \Admin\Service\NestedSets($db_mysql_model, 'goods_category', 'lft', 'rght', 'parent_id', 'id', 'level'); if ($nested_sets->insert($data['parent_id'], $data, 'bottom') === false) { $this->error = '创建分类失败'; return false; } else { return true; } }
public function addMenu() { $db = D('DbMysql'); $nested_sets = new \Admin\Service\NestedSets($db, 'menu', 'lft', 'rght', 'parent_id', 'id', 'level'); $id = $nested_sets->insert($this->data['parent_id'], $this->data, 'bottom'); if ($id === false) { $this->error = '菜单创建失败'; return false; } //保存菜单和权限的映射关系 $permissions = I('post.permission_ids'); if ($this->permissionHandler($id, $permissions) === false) { $this->error = '菜单权限关联失败'; return false; } return true; }