/** * 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); }
<th>Nazwa użytkownika</th> <th style="width: 80px">Treści</th> <th style="width: 100px">Komentarze</th> <th style="width: 80px">Wpisy</th> <th style="width: 60px">UV</th> <th style="width: 60px">DV</th> </tr> </thead> <tbody> @foreach ($users as $index => $user) <tr @if(Auth::check() && $user->user_id == Auth::id()) class="warning" @endif> <td>{!! ( $index + $users->firstItem() ) !!}</td> <?php $day = Carbon::now()->diffInDays(Carbon::create(2013, 1, 1)); $query = \Strimoid\Models\DailyAction::where('user_id', $user->user_id)->groupBy('day')->orderBy('day', 'asc'); if (isset($group)) { $query->where('group_id', $group->getKey()); } $results = $query->lists('points', 'day'); $chartData = []; for ($i = $day; $i >= $day - 30; $i--) { $chartData[$i] = isset($results[$i]) ? $results[$i] : 0; } ?> <td> <img src="{!! $user->user->getAvatarPath() !!}" style="width: 20px; height: 20px"> <a href="{!! route('user_profile', $user->user) !!}">{!! $user->user->name !!}</a> <img src="https://chart.googleapis.com/chart?chs=100x20&cht=ls&chco=0077CC&chf=bg,s,FFFFFF00&chds=a&chd=t:{!! implode(',', $chartData) !!}" class="pull-right"> </td> <td>{!! $user->contents !!}</td>