BookStack\Repos\ChapterRepo::changeBook PHP Метод

changeBook() публичный Метод

Changes the book relation of this chapter.
public changeBook ( $bookId, Chapter $chapter, boolean $rebuildPermissions = false ) : Chapter
$bookId
$chapter BookStack\Chapter
$rebuildPermissions boolean
Результат BookStack\Chapter
    public function changeBook($bookId, Chapter $chapter, $rebuildPermissions = false)
    {
        $chapter->book_id = $bookId;
        // Update related activity
        foreach ($chapter->activity as $activity) {
            $activity->book_id = $bookId;
            $activity->save();
        }
        $chapter->slug = $this->findSuitableSlug($chapter->name, $bookId, $chapter->id);
        $chapter->save();
        // Update all child pages
        foreach ($chapter->pages as $page) {
            $this->pageRepo->changeBook($bookId, $page);
        }
        // Update permissions if applicable
        if ($rebuildPermissions) {
            $chapter->load('book');
            $this->permissionService->buildJointPermissionsForEntity($chapter->book);
        }
        return $chapter;
    }