X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/1a6293ce245f689e0bf1d08b37e846a22da75f6a..refs/pull/3693/head:/app/Entities/Models/Chapter.php diff --git a/app/Entities/Models/Chapter.php b/app/Entities/Models/Chapter.php index f6f8427a3..af4bbd8e3 100644 --- a/app/Entities/Models/Chapter.php +++ b/app/Entities/Models/Chapter.php @@ -2,29 +2,31 @@ namespace BookStack\Entities\Models; +use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Support\Collection; /** * Class Chapter. * * @property Collection $pages - * @property mixed description + * @property string $description */ class Chapter extends BookChild { - public $searchFactor = 1.3; + use HasFactory; - protected $fillable = ['name', 'description', 'priority', 'book_id']; + public $searchFactor = 1.2; + + protected $fillable = ['name', 'description', 'priority']; protected $hidden = ['restricted', 'pivot', 'deleted_at']; /** * Get the pages that this chapter contains. * - * @param string $dir - * - * @return mixed + * @return HasMany */ - public function pages($dir = 'ASC') + public function pages(string $dir = 'ASC'): HasMany { return $this->hasMany(Page::class)->orderBy('priority', $dir); } @@ -32,7 +34,7 @@ class Chapter extends BookChild /** * Get the url of this chapter. */ - public function getUrl($path = ''): string + public function getUrl(string $path = ''): string { $parts = [ 'books', @@ -50,7 +52,8 @@ class Chapter extends BookChild */ public function getVisiblePages(): Collection { - return $this->pages()->visible() + return $this->pages() + ->scopes('visible') ->orderBy('draft', 'desc') ->orderBy('priority', 'asc') ->get();