/** * 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'); }
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); }