public function index() { if(session()->has('language')){ $default_language_id = session()->get('language'); } else { $default_language = Language::where('is_default', 1)->first(); $default_language_id = $default_language->id ?? 1; } // ⚡ অপ্টিমাইজেশন: ৩ মিনিটের (180 সেকেন্ড) জন্য পুরো হোমপেজের ডেটা ক্যাশ করা হলো $data = Cache::remember('homepage_data_lang_' . $default_language_id, 180, function () use ($default_language_id) { // --- Slider Section --- $sliders_all = Post::with('category')->orderBy('id','desc')->where('is_slider',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(15)->get(); $sliders1 = $sliders_all->take(1); $sliders = $sliders_all->skip(1)->take(6); $sliders2 = $sliders_all->skip(7)->take(7); // --- Side Sliders --- $slider_lefts = Post::with('category')->orderBy('created_at','desc')->where('slider_left',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(2)->get(); $slider_rights_all = Post::with('category')->orderBy('id','desc')->where('slider_right',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(12)->get(); $slider_rights_firsts = $slider_rights_all->take(9); $slider_rights_seconds = $slider_rights_all->skip(2)->take(1); $slider_rights_seconds1 = $slider_rights_all->skip(2)->take(10); // --- Categories (Eager Loading and caching the queries) --- $saradeshCat = DB::table('categories')->where('slug', 'saradesh')->first(); $saradeshCatPostsBig = Post::with('category')->where('category_id', $saradeshCat->id ?? 0)->where('is_trending', 1)->orderBy('id', 'DESC')->limit(1)->get(); $saradeshCatPostsSmall = Post::with('category')->where('category_id', $saradeshCat->id ?? 0)->where('is_trending', 1)->orderBy('id', 'DESC')->skip(1)->limit(4)->get(); $sportscat = DB::table('categories')->where('parent_id',null)->skip(8)->first(); $sportscatpostbig = Post::with('category')->where('category_id',$sportscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(3)->get(); $sportscatpostsmall = Post::with('category')->where('category_id',$sportscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(3)->get(); $binodoncat = DB::table('categories')->where('parent_id',null)->skip(7)->first(); $binodoncatpostbig = Post::with('category')->where('category_id',$binodoncat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(3)->get(); $binodoncatpostsmall = Post::with('category')->where('category_id',$binodoncat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(10)->get(); $campuscat = DB::table('categories')->where('parent_id',null)->skip(6)->first(); $campuscatpostbig = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $campuscatpostsmall = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(2)->get(); $secondcampuscatpostsmall = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(2)->get(); $mediacat = DB::table('categories')->where('parent_id',null)->skip(9)->first(); $mediacatpostbig = Post::with('category')->where('category_id',$mediacat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(2)->get(); $mediacatpostsmall = Post::with('category')->where('category_id',$mediacat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(2)->limit(3)->get(); $thirdcat = DB::table('categories')->where('parent_id',null)->skip(2)->first(); $thirdcatpostbig = Post::with('category')->where('category_id',$thirdcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $thirdcatpostsmall = Post::with('category')->where('category_id',$thirdcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(8)->get(); $fourthcat = DB::table('categories')->where('parent_id',null)->skip(3)->first(); $fourthcatpostbig = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $fourthcatpostsmall = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(2)->get(); $fourthcatpostsmall2 = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(4)->get(); $fifthcat = DB::table('categories')->where('parent_id',null)->skip(4)->first(); $fifthcatpostbig = Post::with('category')->where('category_id',$fifthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $fifthcatpostsmall = Post::with('category')->where('category_id',$fifthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(6)->get(); $secondcat1 = DB::table('categories')->where('parent_id',null)->skip(1)->first(); $secondcatpostbig1 = Post::with('category')->where('category_id',$secondcat1->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $secondcatpostsmall1 = Post::with('category')->where('category_id',$secondcat1->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(4)->get(); // --- Trendings & Recents --- $is_trendings = Post::with('category')->where('is_trending',1)->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->orderBy('id','desc')->take(5)->get(); $is_recents = Post::with('category')->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->orderBy('id','desc')->take(10)->get(); $is_trendings1 = Post::with('category')->where('is_trending',1)->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->inRandomOrder()->take(10)->get(); // --- Features & Video --- $home_page_posts = Category::orderBy('category_order','asc')->where('show_at_homepage',1)->where('parent_id',null)->where('language_id',$default_language_id)->get(); $features_all = Post::with('category')->orderBy('id','desc')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_feature',1)->where('language_id',$default_language_id)->take(5)->get(); $is_features = $features_all->take(1); $is_features1 = $features_all->skip(1)->take(4); $more_news = Post::with('category')->orderBy('id','desc')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('language_id',$default_language_id)->latest()->take(5)->get(); $vide_card = Post::orderBy('id','desc')->where('is_videoGallery',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->where('schedule_post',0)->take(10)->get(); $video_large = Post::where('post_type','=','video')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_videoGallery',1)->where('language_id',$default_language_id)->latest()->first(); $video_smalls = Post::where('post_type','=','video')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_videoGallery',1)->where('language_id',$default_language_id)->latest()->take(6)->get(); $sponsor_banners = Advertisement::inRandomOrder()->where('add_placement','sponsor')->where('addSize','size_468')->where('status',1)->take(2)->get(); $polls = PollQuestion::orderBy('id','desc')->where('status','1')->where('language_id',$default_language_id)->get(); $ws = WidgetSetiings::find(1); $widgets = Widget::where('status',1)->where('language_id',$default_language_id)->orderBy('id','desc')->get(); $image_albums_all = ImageAlbum::orderBy('id','desc')->where('language_id',$default_language_id)->take(20)->get(); $image_albums1 = $image_albums_all->take(1); $image_albums = $image_albums_all; $gs = GeneralSettings::find(1); $is_breaking = ''; foreach ($is_trendings as $tr) { $is_breaking .= ' '.$tr->title; } return compact('sliders','sliders1','sliders2','slider_lefts','slider_rights_firsts','slider_rights_seconds','slider_rights_seconds1','saradeshCat','saradeshCatPostsBig','saradeshCatPostsSmall','sportscat','sportscatpostbig','sportscatpostsmall','binodoncat','binodoncatpostbig','binodoncatpostsmall','campuscat','campuscatpostbig','campuscatpostsmall','secondcampuscatpostsmall','fourthcat','fourthcatpostbig','fourthcatpostsmall','fourthcatpostsmall2','thirdcat','thirdcatpostbig','thirdcatpostsmall','mediacat','mediacatpostbig','mediacatpostsmall','fifthcatpostsmall','fifthcatpostbig','fifthcat','secondcat1','secondcatpostbig1','secondcatpostsmall1','is_trendings','is_trendings1','is_recents','home_page_posts','gs','ws','widgets','image_albums','image_albums1','is_breaking','is_features','is_features1','more_news','vide_card','video_large','video_smalls','polls','sponsor_banners'); }); // ক্যাশ থেকে রিটার্ন করা ভিউ return view('frontend.index', $data); }public function index() { if(session()->has('language')){ $default_language_id = session()->get('language'); } else { $default_language = Language::where('is_default', 1)->first(); $default_language_id = $default_language->id ?? 1; } // ⚡ অপ্টিমাইজেশন: ৩ মিনিটের (180 সেকেন্ড) জন্য পুরো হোমপেজের ডেটা ক্যাশ করা হলো $data = Cache::remember('homepage_data_lang_' . $default_language_id, 180, function () use ($default_language_id) { // --- Slider Section --- $sliders_all = Post::with('category')->orderBy('id','desc')->where('is_slider',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(15)->get(); $sliders1 = $sliders_all->take(1); $sliders = $sliders_all->skip(1)->take(6); $sliders2 = $sliders_all->skip(7)->take(7); // --- Side Sliders --- $slider_lefts = Post::with('category')->orderBy('created_at','desc')->where('slider_left',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(2)->get(); $slider_rights_all = Post::with('category')->orderBy('id','desc')->where('slider_right',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(12)->get(); $slider_rights_firsts = $slider_rights_all->take(9); $slider_rights_seconds = $slider_rights_all->skip(2)->take(1); $slider_rights_seconds1 = $slider_rights_all->skip(2)->take(10); // --- Categories (Eager Loading and caching the queries) --- $saradeshCat = DB::table('categories')->where('slug', 'saradesh')->first(); $saradeshCatPostsBig = Post::with('category')->where('category_id', $saradeshCat->id ?? 0)->where('is_trending', 1)->orderBy('id', 'DESC')->limit(1)->get(); $saradeshCatPostsSmall = Post::with('category')->where('category_id', $saradeshCat->id ?? 0)->where('is_trending', 1)->orderBy('id', 'DESC')->skip(1)->limit(4)->get(); $sportscat = DB::table('categories')->where('parent_id',null)->skip(8)->first(); $sportscatpostbig = Post::with('category')->where('category_id',$sportscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(3)->get(); $sportscatpostsmall = Post::with('category')->where('category_id',$sportscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(3)->get(); $binodoncat = DB::table('categories')->where('parent_id',null)->skip(7)->first(); $binodoncatpostbig = Post::with('category')->where('category_id',$binodoncat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(3)->get(); $binodoncatpostsmall = Post::with('category')->where('category_id',$binodoncat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(10)->get(); $campuscat = DB::table('categories')->where('parent_id',null)->skip(6)->first(); $campuscatpostbig = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $campuscatpostsmall = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(2)->get(); $secondcampuscatpostsmall = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(2)->get(); $mediacat = DB::table('categories')->where('parent_id',null)->skip(9)->first(); $mediacatpostbig = Post::with('category')->where('category_id',$mediacat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(2)->get(); $mediacatpostsmall = Post::with('category')->where('category_id',$mediacat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(2)->limit(3)->get(); $thirdcat = DB::table('categories')->where('parent_id',null)->skip(2)->first(); $thirdcatpostbig = Post::with('category')->where('category_id',$thirdcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $thirdcatpostsmall = Post::with('category')->where('category_id',$thirdcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(8)->get(); $fourthcat = DB::table('categories')->where('parent_id',null)->skip(3)->first(); $fourthcatpostbig = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $fourthcatpostsmall = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(2)->get(); $fourthcatpostsmall2 = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(4)->get(); $fifthcat = DB::table('categories')->where('parent_id',null)->skip(4)->first(); $fifthcatpostbig = Post::with('category')->where('category_id',$fifthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $fifthcatpostsmall = Post::with('category')->where('category_id',$fifthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(6)->get(); $secondcat1 = DB::table('categories')->where('parent_id',null)->skip(1)->first(); $secondcatpostbig1 = Post::with('category')->where('category_id',$secondcat1->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $secondcatpostsmall1 = Post::with('category')->where('category_id',$secondcat1->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(4)->get(); // --- Trendings & Recents --- $is_trendings = Post::with('category')->where('is_trending',1)->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->orderBy('id','desc')->take(5)->get(); $is_recents = Post::with('category')->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->orderBy('id','desc')->take(10)->get(); $is_trendings1 = Post::with('category')->where('is_trending',1)->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->inRandomOrder()->take(10)->get(); // --- Features & Video --- $home_page_posts = Category::orderBy('category_order','asc')->where('show_at_homepage',1)->where('parent_id',null)->where('language_id',$default_language_id)->get(); $features_all = Post::with('category')->orderBy('id','desc')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_feature',1)->where('language_id',$default_language_id)->take(5)->get(); $is_features = $features_all->take(1); $is_features1 = $features_all->skip(1)->take(4); $more_news = Post::with('category')->orderBy('id','desc')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('language_id',$default_language_id)->latest()->take(5)->get(); $vide_card = Post::orderBy('id','desc')->where('is_videoGallery',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->where('schedule_post',0)->take(10)->get(); $video_large = Post::where('post_type','=','video')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_videoGallery',1)->where('language_id',$default_language_id)->latest()->first(); $video_smalls = Post::where('post_type','=','video')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_videoGallery',1)->where('language_id',$default_language_id)->latest()->take(6)->get(); $sponsor_banners = Advertisement::inRandomOrder()->where('add_placement','sponsor')->where('addSize','size_468')->where('status',1)->take(2)->get(); $polls = PollQuestion::orderBy('id','desc')->where('status','1')->where('language_id',$default_language_id)->get(); $ws = WidgetSetiings::find(1); $widgets = Widget::where('status',1)->where('language_id',$default_language_id)->orderBy('id','desc')->get(); $image_albums_all = ImageAlbum::orderBy('id','desc')->where('language_id',$default_language_id)->take(20)->get(); $image_albums1 = $image_albums_all->take(1); $image_albums = $image_albums_all; $gs = GeneralSettings::find(1); $is_breaking = ''; foreach ($is_trendings as $tr) { $is_breaking .= ' '.$tr->title; } return compact('sliders','sliders1','sliders2','slider_lefts','slider_rights_firsts','slider_rights_seconds','slider_rights_seconds1','saradeshCat','saradeshCatPostsBig','saradeshCatPostsSmall','sportscat','sportscatpostbig','sportscatpostsmall','binodoncat','binodoncatpostbig','binodoncatpostsmall','campuscat','campuscatpostbig','campuscatpostsmall','secondcampuscatpostsmall','fourthcat','fourthcatpostbig','fourthcatpostsmall','fourthcatpostsmall2','thirdcat','thirdcatpostbig','thirdcatpostsmall','mediacat','mediacatpostbig','mediacatpostsmall','fifthcatpostsmall','fifthcatpostbig','fifthcat','secondcat1','secondcatpostbig1','secondcatpostsmall1','is_trendings','is_trendings1','is_recents','home_page_posts','gs','ws','widgets','image_albums','image_albums1','is_breaking','is_features','is_features1','more_news','vide_card','video_large','video_smalls','polls','sponsor_banners'); }); // ক্যাশ থেকে রিটার্ন করা ভিউ return view('frontend.index', $data); }public function index() { if(session()->has('language')){ $default_language_id = session()->get('language'); } else { $default_language = Language::where('is_default', 1)->first(); $default_language_id = $default_language->id ?? 1; } // ⚡ অপ্টিমাইজেশন: ৩ মিনিটের (180 সেকেন্ড) জন্য পুরো হোমপেজের ডেটা ক্যাশ করা হলো $data = Cache::remember('homepage_data_lang_' . $default_language_id, 180, function () use ($default_language_id) { // --- Slider Section --- $sliders_all = Post::with('category')->orderBy('id','desc')->where('is_slider',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(15)->get(); $sliders1 = $sliders_all->take(1); $sliders = $sliders_all->skip(1)->take(6); $sliders2 = $sliders_all->skip(7)->take(7); // --- Side Sliders --- $slider_lefts = Post::with('category')->orderBy('created_at','desc')->where('slider_left',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(2)->get(); $slider_rights_all = Post::with('category')->orderBy('id','desc')->where('slider_right',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(12)->get(); $slider_rights_firsts = $slider_rights_all->take(9); $slider_rights_seconds = $slider_rights_all->skip(2)->take(1); $slider_rights_seconds1 = $slider_rights_all->skip(2)->take(10); // --- Categories (Eager Loading and caching the queries) --- $saradeshCat = DB::table('categories')->where('slug', 'saradesh')->first(); $saradeshCatPostsBig = Post::with('category')->where('category_id', $saradeshCat->id ?? 0)->where('is_trending', 1)->orderBy('id', 'DESC')->limit(1)->get(); $saradeshCatPostsSmall = Post::with('category')->where('category_id', $saradeshCat->id ?? 0)->where('is_trending', 1)->orderBy('id', 'DESC')->skip(1)->limit(4)->get(); $sportscat = DB::table('categories')->where('parent_id',null)->skip(8)->first(); $sportscatpostbig = Post::with('category')->where('category_id',$sportscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(3)->get(); $sportscatpostsmall = Post::with('category')->where('category_id',$sportscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(3)->get(); $binodoncat = DB::table('categories')->where('parent_id',null)->skip(7)->first(); $binodoncatpostbig = Post::with('category')->where('category_id',$binodoncat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(3)->get(); $binodoncatpostsmall = Post::with('category')->where('category_id',$binodoncat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(10)->get(); $campuscat = DB::table('categories')->where('parent_id',null)->skip(6)->first(); $campuscatpostbig = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $campuscatpostsmall = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(2)->get(); $secondcampuscatpostsmall = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(2)->get(); $mediacat = DB::table('categories')->where('parent_id',null)->skip(9)->first(); $mediacatpostbig = Post::with('category')->where('category_id',$mediacat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(2)->get(); $mediacatpostsmall = Post::with('category')->where('category_id',$mediacat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(2)->limit(3)->get(); $thirdcat = DB::table('categories')->where('parent_id',null)->skip(2)->first(); $thirdcatpostbig = Post::with('category')->where('category_id',$thirdcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $thirdcatpostsmall = Post::with('category')->where('category_id',$thirdcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(8)->get(); $fourthcat = DB::table('categories')->where('parent_id',null)->skip(3)->first(); $fourthcatpostbig = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $fourthcatpostsmall = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(2)->get(); $fourthcatpostsmall2 = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(4)->get(); $fifthcat = DB::table('categories')->where('parent_id',null)->skip(4)->first(); $fifthcatpostbig = Post::with('category')->where('category_id',$fifthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $fifthcatpostsmall = Post::with('category')->where('category_id',$fifthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(6)->get(); $secondcat1 = DB::table('categories')->where('parent_id',null)->skip(1)->first(); $secondcatpostbig1 = Post::with('category')->where('category_id',$secondcat1->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $secondcatpostsmall1 = Post::with('category')->where('category_id',$secondcat1->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(4)->get(); // --- Trendings & Recents --- $is_trendings = Post::with('category')->where('is_trending',1)->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->orderBy('id','desc')->take(5)->get(); $is_recents = Post::with('category')->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->orderBy('id','desc')->take(10)->get(); $is_trendings1 = Post::with('category')->where('is_trending',1)->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->inRandomOrder()->take(10)->get(); // --- Features & Video --- $home_page_posts = Category::orderBy('category_order','asc')->where('show_at_homepage',1)->where('parent_id',null)->where('language_id',$default_language_id)->get(); $features_all = Post::with('category')->orderBy('id','desc')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_feature',1)->where('language_id',$default_language_id)->take(5)->get(); $is_features = $features_all->take(1); $is_features1 = $features_all->skip(1)->take(4); $more_news = Post::with('category')->orderBy('id','desc')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('language_id',$default_language_id)->latest()->take(5)->get(); $vide_card = Post::orderBy('id','desc')->where('is_videoGallery',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->where('schedule_post',0)->take(10)->get(); $video_large = Post::where('post_type','=','video')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_videoGallery',1)->where('language_id',$default_language_id)->latest()->first(); $video_smalls = Post::where('post_type','=','video')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_videoGallery',1)->where('language_id',$default_language_id)->latest()->take(6)->get(); $sponsor_banners = Advertisement::inRandomOrder()->where('add_placement','sponsor')->where('addSize','size_468')->where('status',1)->take(2)->get(); $polls = PollQuestion::orderBy('id','desc')->where('status','1')->where('language_id',$default_language_id)->get(); $ws = WidgetSetiings::find(1); $widgets = Widget::where('status',1)->where('language_id',$default_language_id)->orderBy('id','desc')->get(); $image_albums_all = ImageAlbum::orderBy('id','desc')->where('language_id',$default_language_id)->take(20)->get(); $image_albums1 = $image_albums_all->take(1); $image_albums = $image_albums_all; $gs = GeneralSettings::find(1); $is_breaking = ''; foreach ($is_trendings as $tr) { $is_breaking .= ' '.$tr->title; } return compact('sliders','sliders1','sliders2','slider_lefts','slider_rights_firsts','slider_rights_seconds','slider_rights_seconds1','saradeshCat','saradeshCatPostsBig','saradeshCatPostsSmall','sportscat','sportscatpostbig','sportscatpostsmall','binodoncat','binodoncatpostbig','binodoncatpostsmall','campuscat','campuscatpostbig','campuscatpostsmall','secondcampuscatpostsmall','fourthcat','fourthcatpostbig','fourthcatpostsmall','fourthcatpostsmall2','thirdcat','thirdcatpostbig','thirdcatpostsmall','mediacat','mediacatpostbig','mediacatpostsmall','fifthcatpostsmall','fifthcatpostbig','fifthcat','secondcat1','secondcatpostbig1','secondcatpostsmall1','is_trendings','is_trendings1','is_recents','home_page_posts','gs','ws','widgets','image_albums','image_albums1','is_breaking','is_features','is_features1','more_news','vide_card','video_large','video_smalls','polls','sponsor_banners'); }); // ক্যাশ থেকে রিটার্ন করা ভিউ return view('frontend.index', $data); }public function index() { if(session()->has('language')){ $default_language_id = session()->get('language'); } else { $default_language = Language::where('is_default', 1)->first(); $default_language_id = $default_language->id ?? 1; } // ⚡ অপ্টিমাইজেশন: ৩ মিনিটের (180 সেকেন্ড) জন্য পুরো হোমপেজের ডেটা ক্যাশ করা হলো $data = Cache::remember('homepage_data_lang_' . $default_language_id, 180, function () use ($default_language_id) { // --- Slider Section --- $sliders_all = Post::with('category')->orderBy('id','desc')->where('is_slider',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(15)->get(); $sliders1 = $sliders_all->take(1); $sliders = $sliders_all->skip(1)->take(6); $sliders2 = $sliders_all->skip(7)->take(7); // --- Side Sliders --- $slider_lefts = Post::with('category')->orderBy('created_at','desc')->where('slider_left',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(2)->get(); $slider_rights_all = Post::with('category')->orderBy('id','desc')->where('slider_right',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(12)->get(); $slider_rights_firsts = $slider_rights_all->take(9); $slider_rights_seconds = $slider_rights_all->skip(2)->take(1); $slider_rights_seconds1 = $slider_rights_all->skip(2)->take(10); // --- Categories (Eager Loading and caching the queries) --- $saradeshCat = DB::table('categories')->where('slug', 'saradesh')->first(); $saradeshCatPostsBig = Post::with('category')->where('category_id', $saradeshCat->id ?? 0)->where('is_trending', 1)->orderBy('id', 'DESC')->limit(1)->get(); $saradeshCatPostsSmall = Post::with('category')->where('category_id', $saradeshCat->id ?? 0)->where('is_trending', 1)->orderBy('id', 'DESC')->skip(1)->limit(4)->get(); $sportscat = DB::table('categories')->where('parent_id',null)->skip(8)->first(); $sportscatpostbig = Post::with('category')->where('category_id',$sportscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(3)->get(); $sportscatpostsmall = Post::with('category')->where('category_id',$sportscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(3)->get(); $binodoncat = DB::table('categories')->where('parent_id',null)->skip(7)->first(); $binodoncatpostbig = Post::with('category')->where('category_id',$binodoncat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(3)->get(); $binodoncatpostsmall = Post::with('category')->where('category_id',$binodoncat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(10)->get(); $campuscat = DB::table('categories')->where('parent_id',null)->skip(6)->first(); $campuscatpostbig = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $campuscatpostsmall = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(2)->get(); $secondcampuscatpostsmall = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(2)->get(); $mediacat = DB::table('categories')->where('parent_id',null)->skip(9)->first(); $mediacatpostbig = Post::with('category')->where('category_id',$mediacat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(2)->get(); $mediacatpostsmall = Post::with('category')->where('category_id',$mediacat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(2)->limit(3)->get(); $thirdcat = DB::table('categories')->where('parent_id',null)->skip(2)->first(); $thirdcatpostbig = Post::with('category')->where('category_id',$thirdcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $thirdcatpostsmall = Post::with('category')->where('category_id',$thirdcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(8)->get(); $fourthcat = DB::table('categories')->where('parent_id',null)->skip(3)->first(); $fourthcatpostbig = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $fourthcatpostsmall = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(2)->get(); $fourthcatpostsmall2 = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(4)->get(); $fifthcat = DB::table('categories')->where('parent_id',null)->skip(4)->first(); $fifthcatpostbig = Post::with('category')->where('category_id',$fifthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $fifthcatpostsmall = Post::with('category')->where('category_id',$fifthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(6)->get(); $secondcat1 = DB::table('categories')->where('parent_id',null)->skip(1)->first(); $secondcatpostbig1 = Post::with('category')->where('category_id',$secondcat1->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $secondcatpostsmall1 = Post::with('category')->where('category_id',$secondcat1->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(4)->get(); // --- Trendings & Recents --- $is_trendings = Post::with('category')->where('is_trending',1)->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->orderBy('id','desc')->take(5)->get(); $is_recents = Post::with('category')->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->orderBy('id','desc')->take(10)->get(); $is_trendings1 = Post::with('category')->where('is_trending',1)->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->inRandomOrder()->take(10)->get(); // --- Features & Video --- $home_page_posts = Category::orderBy('category_order','asc')->where('show_at_homepage',1)->where('parent_id',null)->where('language_id',$default_language_id)->get(); $features_all = Post::with('category')->orderBy('id','desc')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_feature',1)->where('language_id',$default_language_id)->take(5)->get(); $is_features = $features_all->take(1); $is_features1 = $features_all->skip(1)->take(4); $more_news = Post::with('category')->orderBy('id','desc')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('language_id',$default_language_id)->latest()->take(5)->get(); $vide_card = Post::orderBy('id','desc')->where('is_videoGallery',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->where('schedule_post',0)->take(10)->get(); $video_large = Post::where('post_type','=','video')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_videoGallery',1)->where('language_id',$default_language_id)->latest()->first(); $video_smalls = Post::where('post_type','=','video')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_videoGallery',1)->where('language_id',$default_language_id)->latest()->take(6)->get(); $sponsor_banners = Advertisement::inRandomOrder()->where('add_placement','sponsor')->where('addSize','size_468')->where('status',1)->take(2)->get(); $polls = PollQuestion::orderBy('id','desc')->where('status','1')->where('language_id',$default_language_id)->get(); $ws = WidgetSetiings::find(1); $widgets = Widget::where('status',1)->where('language_id',$default_language_id)->orderBy('id','desc')->get(); $image_albums_all = ImageAlbum::orderBy('id','desc')->where('language_id',$default_language_id)->take(20)->get(); $image_albums1 = $image_albums_all->take(1); $image_albums = $image_albums_all; $gs = GeneralSettings::find(1); $is_breaking = ''; foreach ($is_trendings as $tr) { $is_breaking .= ' '.$tr->title; } return compact('sliders','sliders1','sliders2','slider_lefts','slider_rights_firsts','slider_rights_seconds','slider_rights_seconds1','saradeshCat','saradeshCatPostsBig','saradeshCatPostsSmall','sportscat','sportscatpostbig','sportscatpostsmall','binodoncat','binodoncatpostbig','binodoncatpostsmall','campuscat','campuscatpostbig','campuscatpostsmall','secondcampuscatpostsmall','fourthcat','fourthcatpostbig','fourthcatpostsmall','fourthcatpostsmall2','thirdcat','thirdcatpostbig','thirdcatpostsmall','mediacat','mediacatpostbig','mediacatpostsmall','fifthcatpostsmall','fifthcatpostbig','fifthcat','secondcat1','secondcatpostbig1','secondcatpostsmall1','is_trendings','is_trendings1','is_recents','home_page_posts','gs','ws','widgets','image_albums','image_albums1','is_breaking','is_features','is_features1','more_news','vide_card','video_large','video_smalls','polls','sponsor_banners'); }); // ক্যাশ থেকে রিটার্ন করা ভিউ return view('frontend.index', $data); }public function index() { if(session()->has('language')){ $default_language_id = session()->get('language'); } else { $default_language = Language::where('is_default', 1)->first(); $default_language_id = $default_language->id ?? 1; } // ⚡ অপ্টিমাইজেশন: ৩ মিনিটের (180 সেকেন্ড) জন্য পুরো হোমপেজের ডেটা ক্যাশ করা হলো $data = Cache::remember('homepage_data_lang_' . $default_language_id, 180, function () use ($default_language_id) { // --- Slider Section --- $sliders_all = Post::with('category')->orderBy('id','desc')->where('is_slider',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(15)->get(); $sliders1 = $sliders_all->take(1); $sliders = $sliders_all->skip(1)->take(6); $sliders2 = $sliders_all->skip(7)->take(7); // --- Side Sliders --- $slider_lefts = Post::with('category')->orderBy('created_at','desc')->where('slider_left',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(2)->get(); $slider_rights_all = Post::with('category')->orderBy('id','desc')->where('slider_right',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->take(12)->get(); $slider_rights_firsts = $slider_rights_all->take(9); $slider_rights_seconds = $slider_rights_all->skip(2)->take(1); $slider_rights_seconds1 = $slider_rights_all->skip(2)->take(10); // --- Categories (Eager Loading and caching the queries) --- $saradeshCat = DB::table('categories')->where('slug', 'saradesh')->first(); $saradeshCatPostsBig = Post::with('category')->where('category_id', $saradeshCat->id ?? 0)->where('is_trending', 1)->orderBy('id', 'DESC')->limit(1)->get(); $saradeshCatPostsSmall = Post::with('category')->where('category_id', $saradeshCat->id ?? 0)->where('is_trending', 1)->orderBy('id', 'DESC')->skip(1)->limit(4)->get(); $sportscat = DB::table('categories')->where('parent_id',null)->skip(8)->first(); $sportscatpostbig = Post::with('category')->where('category_id',$sportscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(3)->get(); $sportscatpostsmall = Post::with('category')->where('category_id',$sportscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(3)->get(); $binodoncat = DB::table('categories')->where('parent_id',null)->skip(7)->first(); $binodoncatpostbig = Post::with('category')->where('category_id',$binodoncat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(3)->get(); $binodoncatpostsmall = Post::with('category')->where('category_id',$binodoncat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(10)->get(); $campuscat = DB::table('categories')->where('parent_id',null)->skip(6)->first(); $campuscatpostbig = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $campuscatpostsmall = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(2)->get(); $secondcampuscatpostsmall = Post::with('category')->where('category_id',$campuscat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(2)->get(); $mediacat = DB::table('categories')->where('parent_id',null)->skip(9)->first(); $mediacatpostbig = Post::with('category')->where('category_id',$mediacat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(2)->get(); $mediacatpostsmall = Post::with('category')->where('category_id',$mediacat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(2)->limit(3)->get(); $thirdcat = DB::table('categories')->where('parent_id',null)->skip(2)->first(); $thirdcatpostbig = Post::with('category')->where('category_id',$thirdcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $thirdcatpostsmall = Post::with('category')->where('category_id',$thirdcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(8)->get(); $fourthcat = DB::table('categories')->where('parent_id',null)->skip(3)->first(); $fourthcatpostbig = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $fourthcatpostsmall = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(2)->get(); $fourthcatpostsmall2 = Post::with('category')->where('category_id',$fourthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(3)->limit(4)->get(); $fifthcat = DB::table('categories')->where('parent_id',null)->skip(4)->first(); $fifthcatpostbig = Post::with('category')->where('category_id',$fifthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $fifthcatpostsmall = Post::with('category')->where('category_id',$fifthcat->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(6)->get(); $secondcat1 = DB::table('categories')->where('parent_id',null)->skip(1)->first(); $secondcatpostbig1 = Post::with('category')->where('category_id',$secondcat1->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->limit(1)->get(); $secondcatpostsmall1 = Post::with('category')->where('category_id',$secondcat1->id ?? 0)->where('is_trending',1)->orderBy('id','DESC')->skip(1)->limit(4)->get(); // --- Trendings & Recents --- $is_trendings = Post::with('category')->where('is_trending',1)->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->orderBy('id','desc')->take(5)->get(); $is_recents = Post::with('category')->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->orderBy('id','desc')->take(10)->get(); $is_trendings1 = Post::with('category')->where('is_trending',1)->where('is_pending',0)->where('language_id',$default_language_id)->where('status',true)->inRandomOrder()->take(10)->get(); // --- Features & Video --- $home_page_posts = Category::orderBy('category_order','asc')->where('show_at_homepage',1)->where('parent_id',null)->where('language_id',$default_language_id)->get(); $features_all = Post::with('category')->orderBy('id','desc')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_feature',1)->where('language_id',$default_language_id)->take(5)->get(); $is_features = $features_all->take(1); $is_features1 = $features_all->skip(1)->take(4); $more_news = Post::with('category')->orderBy('id','desc')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('language_id',$default_language_id)->latest()->take(5)->get(); $vide_card = Post::orderBy('id','desc')->where('is_videoGallery',1)->where('status',true)->where('is_pending',0)->where('language_id',$default_language_id)->where('schedule_post',0)->take(10)->get(); $video_large = Post::where('post_type','=','video')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_videoGallery',1)->where('language_id',$default_language_id)->latest()->first(); $video_smalls = Post::where('post_type','=','video')->where('is_pending',0)->where('status',true)->where('schedule_post',0)->where('is_videoGallery',1)->where('language_id',$default_language_id)->latest()->take(6)->get(); $sponsor_banners = Advertisement::inRandomOrder()->where('add_placement','sponsor')->where('addSize','size_468')->where('status',1)->take(2)->get(); $polls = PollQuestion::orderBy('id','desc')->where('status','1')->where('language_id',$default_language_id)->get(); $ws = WidgetSetiings::find(1); $widgets = Widget::where('status',1)->where('language_id',$default_language_id)->orderBy('id','desc')->get(); $image_albums_all = ImageAlbum::orderBy('id','desc')->where('language_id',$default_language_id)->take(20)->get(); $image_albums1 = $image_albums_all->take(1); $image_albums = $image_albums_all; $gs = GeneralSettings::find(1); $is_breaking = ''; foreach ($is_trendings as $tr) { $is_breaking .= ' '.$tr->title; } return compact('sliders','sliders1','sliders2','slider_lefts','slider_rights_firsts','slider_rights_seconds','slider_rights_seconds1','saradeshCat','saradeshCatPostsBig','saradeshCatPostsSmall','sportscat','sportscatpostbig','sportscatpostsmall','binodoncat','binodoncatpostbig','binodoncatpostsmall','campuscat','campuscatpostbig','campuscatpostsmall','secondcampuscatpostsmall','fourthcat','fourthcatpostbig','fourthcatpostsmall','fourthcatpostsmall2','thirdcat','thirdcatpostbig','thirdcatpostsmall','mediacat','mediacatpostbig','mediacatpostsmall','fifthcatpostsmall','fifthcatpostbig','fifthcat','secondcat1','secondcatpostbig1','secondcatpostsmall1','is_trendings','is_trendings1','is_recents','home_page_posts','gs','ws','widgets','image_albums','image_albums1','is_breaking','is_features','is_features1','more_news','vide_card','video_large','video_smalls','polls','sponsor_banners'); }); // ক্যাশ থেকে রিটার্ন করা ভিউ return view('frontend.index', $data); }

500 Internal server error!