function BookManager::deleteFromBook

Same name in this branch
  1. 10 core/modules/book/src/ProxyClass/BookManager.php \Drupal\book\ProxyClass\BookManager::deleteFromBook()
Same name and namespace in other branches
  1. 9 core/modules/book/src/BookManager.php \Drupal\book\BookManager::deleteFromBook()
  2. 8.9.x core/modules/book/src/BookManager.php \Drupal\book\BookManager::deleteFromBook()
  3. 11.x core/modules/book/src/ProxyClass/BookManager.php \Drupal\book\ProxyClass\BookManager::deleteFromBook()
  4. 11.x core/modules/book/src/BookManager.php \Drupal\book\BookManager::deleteFromBook()

Deletes node's entry from book table.

Parameters

int $nid: The nid to delete.

Overrides BookManagerInterface::deleteFromBook

File

core/modules/book/src/BookManager.php, line 506

Class

BookManager
Defines a book manager.

Namespace

Drupal\book

Code

public function deleteFromBook($nid) {
  $original = $this->loadBookLink($nid, FALSE);
  $this->bookOutlineStorage
    ->delete($nid);
  if ($nid == $original['bid']) {
    // Handle deletion of a top-level post.
    $result = $this->bookOutlineStorage
      ->loadBookChildren($nid);
    $children = $this->entityTypeManager
      ->getStorage('node')
      ->loadMultiple(array_keys($result));
    foreach ($children as $child) {
      $child->book['bid'] = $child->id();
      $this->updateOutline($child);
    }
  }
  $this->updateOriginalParent($original);
  $this->books = NULL;
  Cache::invalidateTags([
    'bid:' . $original['bid'],
  ]);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.