orderBy('label', 'ASC')->get(); // Get News. $filters_activated = collect($request->input('filtered_categorie')); $news = News::query()->with('categories')->when( $filters_activated->first() !== 'all', fn(Builder $q) => $q->with('categories') ->whereRelation('categories', fn(Builder $q) => $q->where(function (Builder $q) use ($filters_activated) { foreach ($filters_activated as $value) { if (is_string($value)) { $q->orWhere('id', $value); } } })) )->where('published', true)->orderByDesc('created_at')->paginate(6); return view('fo.pages.news.index', compact('categories', 'news', 'filters_activated')); } /** * Show resource * * @param \App\Models\News $news * * @return \Illuminate\Contracts\View\View */ public function show(News $news): \Illuminate\Contracts\View\View { $news->load('categories', 'news.categories', 'products'); $readingTime = $news->getReadingTime(); $products = $news->products()->with(['subrange', 'subrange.range'])->get(); return view('fo.pages.news.post', compact('news', 'readingTime', 'products')); } }