getAngeboteData($request); Cache::put('angebote_index', $data , 6000); // 100 minutes } if ( Cache::has('angebote_count') ) { $count = Cache::get('angebote_count'); } else { $count = DB::select("SELECT count(*) as count FROM all_view")[0]; Cache::put('angebote_count', $count, 6000); // 100 minutes } #$count = DB::select("SELECT count(*) as count FROM all_view")[0]; $cache_angebote = view('fragments.angebote', ['data' => $data, 'views' => $views, 'hits' => $count])->render(); return view('angebote_index', ['data' => $data, 'views' => $views, 'hits' => $count, 'cache_angebote' => $cache_angebote])->render(); } public function index(Request $request) { $views = array("whisky", "wodka", "gin", "rum", "misc"); if ( Cache::has('angebote_index') ) { $data = Cache::get('angebote_index'); } else { $data = $this->getAngeboteData($request); Cache::put('angebote_index', $data , 6000); // 100 minutes } if ( Cache::has('angebote_count') ) { $count= Cache::get('angebote_count'); } else { $count = DB::select("SELECT count(*) as count FROM all_view")[0]; Cache::put('angebote_count', $count, 6000); // 100 minutes } if ( Cache::has('cocktail_count') ) { $cocktail_count= Cache::get('cocktail_count'); } else { $cocktails = new Cocktail; $cocktail_count = $cocktails->count(); Cache::put('cocktail_count', $cocktail_count, 6000); // 100 minutes } return view('index', ['data' => $data, 'views' => $views, 'hits' => $count, 'cocktail_count' => $cocktail_count])->render(); } private function getAngeboteData(Request $request) { $views = array("whisky", "wodka", "gin", "rum", "misc"); $query = ""; foreach($views as $view) { if ($query != "") { $query .= " UNION "; } $query .= " (SELECT name, image_url, spirit_type, spirit_type AS url, spirit_type AS angebotsname, (SELECT MAX(procent) FROM " . $view . "_view) as procent, '' AS linktext FROM ". $view ."_view WHERE original_price > 29.98 AND spirit_type != 'Verschiedenes' AND shop != 'Rum & Co' AND shop = 'Drankdozijn' ORDER BY created_at DESC, procent DESC LIMIT 1)"; } $data = DB::select($query); return $data; } }