public function BookManager::deleteFromBook in Drupal 8
Same name and namespace in other branches
- 9 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 463 
Class
- BookManager
- Defines a book manager.
Namespace
Drupal\bookCode
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'],
  ]);
}