public function getRegionDetails($id_region) { $var_cache = 'facebookRegionDetails' . $id_region; if (!Cache::has($var_cache)) { $value = FacebookRegion::whereIdRegion($id_region)->first(); if (!$value) { return 'Invalid method'; } /***** Ages *****/ $cache['ages']['items'] = array(); $ages = FacebookRegionAge::whereIdRegion($value['id_region'])->orderBy('total_user', 'DESC')->take(5)->get(['name', 'total_user']); foreach ($ages as $age) { $cache['ages']['items'][] = array('name' => $age['name'], 'total_user' => $this->owloo_number_format($age['total_user'])); } //Get max value $cache['ages']['max_user'] = array(); $age_max_total = FacebookRegionAge::whereIdRegion($value['id_region'])->orderBy('total_user', 'DESC')->orderBy('id', 'ASC')->first(['name', 'total_user']); if (isset($age_max_total['name'])) { $cache['ages']['max_user'] = array('name' => $age_max_total['name'], 'value' => $this->owloo_number_format($age_max_total['total_user']), 'percent' => $this->owlooFormatPorcent($age_max_total['total_user'], $value['total_user'])); } /***** Relationships *****/ $cache['relationships']['items'] = array(); $relationships = FacebookRegionRelationship::whereIdRegion($value['id_region'])->orderBy('total_user', 'DESC')->take(5)->get(['name', 'total_user']); foreach ($relationships as $relationship) { $cache['relationships']['items'][] = array('name' => $relationship['name'], 'total_user' => $this->owloo_number_format($relationship['total_user'])); } /***** Interests *****/ $cache['interests']['items'] = array(); $interests = FacebookRegionInterest::whereIdRegion($value['id_region'])->orderBy('total_user', 'DESC')->take(5)->get(['name', 'total_user']); foreach ($interests as $interest) { $cache['interests']['items'][] = array('name' => $interest['name'], 'total_user' => $this->owloo_number_format($interest['total_user'])); } //Get the Trend-up $cache['interests']['trend_up'] = array(); $interest_grow = FacebookRegionInterest::whereIdRegion($value['id_region'])->orderBy('grow_30', 'DESC')->orderBy('total_user', 'DESC')->first(['name', 'total_user', 'grow_30']); if (isset($interest_grow['name']) && $interest_grow['grow_30'] > 0) { $cache['interests']['trend_up'] = array('name' => $interest_grow['name'], 'grow' => $this->formatGrow($interest_grow['grow_30'], $interest_grow['total_user'])); } /***** Comportamientos *****/ $cache['comportamientos']['items'] = array(); $comportamientos = FacebookRegionComportamiento::whereIdRegion($value['id_region'])->orderBy('total_user', 'DESC')->take(5)->get(['name', 'total_user']); foreach ($comportamientos as $comportamiento) { $cache['comportamientos']['items'][] = array('name' => $comportamiento['name'], 'percent' => $this->owlooFormatPorcent($comportamiento['total_user'], $value['total_user'])); } Cache::put($var_cache, $cache, 1440); } return Cache::get($var_cache); }