Beispiel #1
0
 /**
  * Execute the console command.
  *
  * @return void
  */
 public function fire()
 {
     DB::connection()->disableQueryLog();
     $conn = DB::connection('stats');
     $conn->disableQueryLog();
     $rows = DailyAction::select(DB::raw('user_id, Sum(points) as points'))->with(['user' => function ($q) {
         $q->select(['name', 'avatar']);
     }])->groupBy('user_id')->orderBy('points', 'desc')->get();
     foreach ($rows as $row) {
         $user = User::find($row['user_id']);
         $user->total_points = $row['points'];
         $user->save();
     }
     $this->info('All users processed');
 }
Beispiel #2
0
 public function getIndex()
 {
     $query = DailyAction::select(DB::raw('user_id, Sum(points) as points, Sum(contents) as contents,
             Sum(comments) as comments, Sum(entries) as entries, Sum(uv) as uv, Sum(dv) as dv'))->with('user')->groupBy('user_id')->orderBy('points', 'desc');
     if (Input::has('group')) {
         $group = Group::name(Input::get('group'))->firstOrFail();
         $query->where('group_id', $group->getKey());
         $data['group'] = $group;
     }
     // Time filter
     if (Input::has('time')) {
         $fromDay = Carbon::now()->diffInDays(Carbon::create(2013, 1, 1)) - Input::get('time');
         $query->where('day', '>', $fromDay);
     }
     return $query->paginate(50);
 }