$newsViews, 'newsCategories' => $newsCategories, 'staticPageModel' => $staticPageModel, ]); } /** * Get the view of a specific news. */ public function show(string $slug): View { /** @var \App\Models\News|null $newsModel Current news model */ $newsModel = News::query() ->where('slug', $slug) ->where('published', true) ->whereHas('newsCategory', function (Builder $q) { $q->where('published', true); }) ->with('newsCategory') ->firstOrFail(); $asideNewsModels = News::query() ->orderByRaw('news_category_id = ? DESC', [$newsModel->news_category_id]) ->where([ ['published', '=', true], ['id', '!=', $newsModel->getKey()], ]) ->inRandomOrder() ->take(3) ->get(); return view('fo.pages.news.show', [ 'newsModel' => $newsModel, 'asideNewsModels' => $asideNewsModels, ]); } /** * Get filtered news. */ public function jsonGetNewsViewsByCategory(Request $request): JsonResponse { return response()->json(News::getNewsViewsByNewsCategory($request->LEGENDSLUG)); } }