News::getNewsViewsByNewsCategory(), 'newsCategories' => $newsCategories, 'staticPageModel' => $staticPageModel ]); } /** * Get the view of a specific news. * * @param string $slug * @return \Illuminate\Contracts\View\View */ public function show(string $slug): \Illuminate\Contracts\View\View { /** @var \App\Models\News|null $newsModel Current news model */ $newsModel = News::query()->where('slug', $slug)->with('newsCategory')->first(); $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. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\JsonResponse */ public function jsonGetNewsViewsByCategory(Request $request): \Illuminate\Http\JsonResponse { return response()->json(News::getNewsViewsByNewsCategory($request->LEGENDSLUG)); } }