public function dashboard(Request $request)
 {
     $stat = new \Stdclass();
     $stat->num_ads = Ad::count();
     $stat->num_promo_ads = Ad::where('ad_promo', 1)->count();
     $stat->users = User::count();
     $stat->reports = AdReport::count();
     //get last 10 days ads
     $ads_by_date = Ad::select(DB::raw("count(ad_id) AS ad_count, DATE_FORMAT(ad_publish_date, '%Y-%m-%d') AS date_formated"))->groupBy('date_formated')->orderBy('date_formated', 'desc')->take(10)->get()->toArray();
     $stat->ads_by_date = [];
     if (!empty($ads_by_date)) {
         $stat->ads_by_date = array_reverse($ads_by_date);
     }
     //get last 10 promo days ads
     $promo_ads_by_date = Ad::select(DB::raw("count(ad_id) AS ad_count, DATE_FORMAT(ad_publish_date, '%Y-%m-%d') AS date_formated"))->where('ad_promo', 1)->groupBy('date_formated')->orderBy('date_formated', 'desc')->take(10)->get()->toArray();
     $stat->promo_ads_by_date = [];
     if (!empty($promo_ads_by_date)) {
         $stat->promo_ads_by_date = array_reverse($promo_ads_by_date);
     }
     //get last 10 months ads
     $ads_by_month = Ad::select(DB::raw("count(ad_id) AS ad_count, DATE_FORMAT(ad_publish_date, '%Y-%m') AS date_formated"))->groupBy('date_formated')->orderBy('date_formated', 'desc')->take(10)->get()->toArray();
     $stat->ads_by_month = [];
     if (!empty($ads_by_month)) {
         $stat->ads_by_month = array_reverse($ads_by_month);
     }
     //get last 10 years ads
     $ads_by_year = Ad::select(DB::raw("count(ad_id) AS ad_count, DATE_FORMAT(ad_publish_date, '%Y') AS date_formated"))->groupBy('date_formated')->orderBy('date_formated', 'desc')->take(10)->get()->toArray();
     $stat->ads_by_year = [];
     if (!empty($ads_by_year)) {
         $stat->ads_by_year = array_reverse($ads_by_year);
     }
     return view('admin.dashboard.dashboard', ['stat' => $stat]);
 }
Exemplo n.º 2
0
 public function getStats()
 {
     $stats = [['title' => 'Jobs', 'value' => \App\Job::count()], ['title' => 'Featured Jobs', 'value' => \App\Job::where(['featured_flag' => 1])->count()], ['title' => 'Companies', 'value' => \App\Company::count()], ['title' => 'Featured Companies', 'value' => \App\Company::where(['is_promoted' => 1])->count()], ['title' => 'Ads', 'value' => \App\Ad::count()], ['title' => 'General ads', 'value' => \App\AdGeneral::count()]];
     return response()->json($stats);
 }