type !== $section) abort(404); Gate::authorize('viewAny', $entry); // Permissions. $entryPolicy = match ($entry->state) { 'pending' => 'viewPending', 'draft' => 'viewDraft', 'rejected' => 'viewRejected', 'hidden' => 'viewHidden', 'locked' => 'viewLocked', 'published' => null, 'default' => null }; if ($entryPolicy) Gate::authorize($entryPolicy, $entry); $comments = EntryHelpers::getLatestComments($entry); return view('entries.show', compact('entry', 'section', 'comments')); } }