/** * 重写add方法,借助嵌套集合模型实现 * @return mixed */ public function add() { //处理边界问题,借助于netstetsets插件 $mydb = new DbImplementServer(); //得到实现接口的相关对象 $netstedsets = new NestedSetsServer($mydb, 'permission', 'lft', 'rgt', 'parent_id', 'id', 'level'); //insert 方法会自动将其他数据插入到数据表中 return $netstedsets->insert($this->data['parent_id'], $this->data, 'bottom'); }
/** * 重写add方法,保存菜单权限关系 * @param mixed|string $requestData * @return bool */ public function add($requestData) { //保存菜单信息,借助于netstetsets插件 $mydb = new DbImplementServer(); //得到实现接口的相关对象 $netstedsets = new NestedSetsServer($mydb, 'menu', 'lft', 'rgt', 'parent_id', 'id', 'level'); $id = $netstedsets->insert($this->data['parent_id'], $this->data, 'bottom'); //insert 方法会自动将其他数据插入到数据表中 if ($id === false) { return false; } //保存菜单权限关系 $rst = $this->handleMenuPermission($id, $requestData['permission_ids']); if ($rst === false) { return false; } return $id; }