$gender = $user->gender == 'm' ? 'male' : 'female'; if (!isset($picked_advice[$user->education_level->id])) { $picked_advice[$user->education_level->id] = array('label' => $user->education_level->name, 'male' => 0, 'female' => 0); } $picked_advice[$user->education_level->id][$gender]++; }); // Get it ready for the graphs $data['most_schooladvices'] = array(); foreach ($picked_advice as $picked_adv) { array_push($data['most_schooladvices'], $picked_adv); } // Get all users registered by day if ($school_id == null) { $users_by_day = User::groupBy('day')->get(array(new raw('DATE(created_at) as day'), new raw('count(id) as amount'))); } else { $users_by_day = User::groupBy('day')->where('school_id', '=', $school_id)->get(array(new raw('DATE(created_at) as day'), new raw('count(id) as amount'))); } $data['users']['created_by_day'] = $users_by_day->toArray(); $app->render('dashboard.html', $data); })->name('dashboard'); $app->group('/users', function () use($app, $data) { $app->get('/', function () use($app, $data) { $data['users'] = User::with('talents', 'educationLevel', 'skills', 'school')->orderBy('created_at', 'DESC')->get()->toArray(); $app->render('users/overview.html', $data); })->name('users_overview'); }); $app->group('/talents', function () use($app, $data) { $app->get('/', function () use($app, $data) { $data['talents'] = Talent::all()->toArray(); $app->render('talents/overview.html', $data); })->name('talents_overview');
public function testGroupBy() { $users = User::groupBy('title')->get(); $this->assertEquals(3, count($users)); $users = User::groupBy('age')->get(); $this->assertEquals(6, count($users)); $users = User::groupBy('age')->skip(1)->get(); $this->assertEquals(5, count($users)); $users = User::groupBy('age')->take(2)->get(); $this->assertEquals(2, count($users)); $users = User::groupBy('age')->orderBy('age', 'desc')->get(); $this->assertEquals(37, $users[0]->age); $this->assertEquals(35, $users[1]->age); $this->assertEquals(33, $users[2]->age); $users = User::groupBy('age')->skip(1)->take(2)->orderBy('age', 'desc')->get(); $this->assertEquals(2, count($users)); $this->assertEquals(35, $users[0]->age); $this->assertEquals(33, $users[1]->age); $this->assertNull($users[0]->name); $users = User::select('name')->groupBy('age')->skip(1)->take(2)->orderBy('age', 'desc')->get(); $this->assertEquals(2, count($users)); $this->assertNotNull($users[0]->name); }