Example #1
0
        $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);
 }