protected function getPage($pageSlug, $topicSlug = null) { if (is_null($topicSlug)) { $query = Page::whereSlug($pageSlug); } else { $query = Topic::slug($topicSlug)->firstOrFail()->pages()->whereSlug($pageSlug); } if (Auth::check() === false || Auth::user()->hasRole('admin') === false) { $query->whereActive(true); } $page = $query->get()->first(); if (is_null($page)) { throw (new ModelNotFoundException())->setModel(Page::class); } return $page; }