book = $book; $this->pageRepo = $pageRepo; } public function getById($id) { return $this->book->findOrFail($id); } public function getAll() { return $this->book->all(); } public function getBySlug($slug) { return $this->book->where('slug', '=', $slug)->first(); } public function newFromInput($input) { return $this->book->fill($input); } public function countBySlug($slug) { return $this->book->where('slug', '=', $slug)->count(); } public function destroyBySlug($bookSlug) { $book = $this->getBySlug($bookSlug); foreach($book->children() as $child) { $child->delete(); } $book->delete(); } public function getNewPriority($book) { $lastElem = $book->children()->pop(); return $lastElem ? $lastElem->priority + 1 : 0; } }