mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-05-30 12:38:12 +08:00
Added pagination to books page
This commit is contained in:
@ -11,7 +11,7 @@ class BookRepo
|
||||
|
||||
/**
|
||||
* BookRepo constructor.
|
||||
* @param Book $book
|
||||
* @param Book $book
|
||||
* @param PageRepo $pageRepo
|
||||
*/
|
||||
public function __construct(Book $book, PageRepo $pageRepo)
|
||||
@ -30,6 +30,16 @@ class BookRepo
|
||||
return $this->book->all();
|
||||
}
|
||||
|
||||
/**
|
||||
* Getas
|
||||
* @param int $count
|
||||
* @return mixed
|
||||
*/
|
||||
public function getAllPaginated($count = 10)
|
||||
{
|
||||
return $this->book->orderBy('name', 'asc')->paginate($count);
|
||||
}
|
||||
|
||||
public function getBySlug($slug)
|
||||
{
|
||||
return $this->book->where('slug', '=', $slug)->first();
|
||||
@ -63,11 +73,11 @@ class BookRepo
|
||||
public function destroyBySlug($bookSlug)
|
||||
{
|
||||
$book = $this->getBySlug($bookSlug);
|
||||
foreach($book->pages as $page) {
|
||||
foreach ($book->pages as $page) {
|
||||
\Activity::removeEntity($page);
|
||||
$page->delete();
|
||||
}
|
||||
foreach($book->chapters as $chapter) {
|
||||
foreach ($book->chapters as $chapter) {
|
||||
\Activity::removeEntity($chapter);
|
||||
$chapter->delete();
|
||||
}
|
||||
@ -83,7 +93,7 @@ class BookRepo
|
||||
public function doesSlugExist($slug, $currentId = false)
|
||||
{
|
||||
$query = $this->book->where('slug', '=', $slug);
|
||||
if($currentId) {
|
||||
if ($currentId) {
|
||||
$query = $query->where('id', '!=', $currentId);
|
||||
}
|
||||
return $query->count() > 0;
|
||||
@ -94,7 +104,7 @@ class BookRepo
|
||||
$originalSlug = Str::slug($name);
|
||||
$slug = $originalSlug;
|
||||
$count = 2;
|
||||
while($this->doesSlugExist($slug, $currentId)) {
|
||||
while ($this->doesSlugExist($slug, $currentId)) {
|
||||
$slug = $originalSlug . '-' . $count;
|
||||
$count++;
|
||||
}
|
||||
|
Reference in New Issue
Block a user