public function MenuTreeStorage::delete in Drupal 10        
                          
                  
                        Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Menu/MenuTreeStorage.php \Drupal\Core\Menu\MenuTreeStorage::delete()
 - 9 core/lib/Drupal/Core/Menu/MenuTreeStorage.php \Drupal\Core\Menu\MenuTreeStorage::delete()
 
 
File
 
   - core/lib/Drupal/Core/Menu/MenuTreeStorage.php, line 417
 
  
  Class
  
  - MenuTreeStorage 
 
  - Provides a menu tree storage using the database.
 
  Namespace
  Drupal\Core\Menu
Code
public function delete($id) {
  
  $item = $this
    ->loadFull($id);
  
  if ($item) {
    $parent = $item['parent'];
    $children = $this
      ->loadByProperties([
      'parent' => $id,
    ]);
    foreach ($children as $child) {
      $child['parent'] = $parent;
      $this
        ->save($child);
    }
    $this
      ->doDeleteMultiple([
      $id,
    ]);
    $this
      ->updateParentalStatus($item);
    
    $this
      ->resetDefinitions();
    $this->cacheTagsInvalidator
      ->invalidateTags([
      'config:system.menu.' . $item['menu_name'],
    ]);
  }
}