Xpressengine\Menu\MenuHandler::remove PHP 메소드

remove() 공개 메소드

Delete menu
public remove ( Menu $menu ) : boolean
$menu Xpressengine\Menu\Models\Menu menu instance
리턴 boolean
    public function remove(Menu $menu)
    {
        if ($menu->items->count() > 0) {
            throw new CanNotDeleteMenuEntityHaveChildException();
        }
        $this->deleteMenuTheme($menu);
        return $this->repo->delete($menu);
    }

Usage Example

예제 #1
0
 /**
  * destroy
  *
  * @param MenuHandler $handler menu handler
  * @param string      $menuId  to delete menu entity object id
  *
  * @return RedirectResponse
  */
 public function destroy(MenuHandler $handler, $menuId)
 {
     XeDB::beginTransaction();
     try {
         $menu = $handler->get($menuId);
         $handler->remove($menu);
         $this->permissionUnregister($menu->getKey());
     } catch (Exception $e) {
         XeDB::rollback();
         return Redirect::back()->with('alert', ['type' => 'danger', 'message' => $e->getMessage()]);
     }
     XeDB::commit();
     return Redirect::route('settings.menu.index')->with('alert', ['type' => 'success', 'message' => 'Menu deleted']);
 }