X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/b86ee6d252b301a94796043f333abdb6603c304c..refs/pull/5721/head:/app/Entities/Models/BookChild.php diff --git a/app/Entities/Models/BookChild.php b/app/Entities/Models/BookChild.php index 3b1ac1bab..ad54fb926 100644 --- a/app/Entities/Models/BookChild.php +++ b/app/Entities/Models/BookChild.php @@ -13,38 +13,9 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; * @property int $priority * @property string $book_slug * @property Book $book - * - * @method Builder whereSlugs(string $bookSlug, string $childSlug) */ abstract class BookChild extends Entity { - protected static function boot() - { - parent::boot(); - - // Load book slugs onto these models by default during query-time - static::addGlobalScope('book_slug', function (Builder $builder) { - $builder->addSelect(['book_slug' => function ($builder) { - $builder->select('slug') - ->from('books') - ->whereColumn('books.id', '=', 'book_id'); - }]); - }); - } - - /** - * Scope a query to find items where the child has the given childSlug - * where its parent has the bookSlug. - */ - public function scopeWhereSlugs(Builder $query, string $bookSlug, string $childSlug) - { - return $query->with('book') - ->whereHas('book', function (Builder $query) use ($bookSlug) { - $query->where('slug', '=', $bookSlug); - }) - ->where('slug', '=', $childSlug); - } - /** * Get the book this page sits in. */ @@ -62,13 +33,12 @@ abstract class BookChild extends Entity $this->book_id = $newBookId; $this->refreshSlug(); $this->save(); + $this->refresh(); if ($oldUrl !== $this->getUrl()) { - app()->make(ReferenceUpdater::class)->updateEntityPageReferences($this, $oldUrl); + app()->make(ReferenceUpdater::class)->updateEntityReferences($this, $oldUrl); } - $this->refresh(); - // Update all child pages if a chapter if ($this instanceof Chapter) { foreach ($this->pages()->withTrashed()->get() as $page) {