public function getLightLeaderboard() { $pandas = Account::with('destiny.characters')->whereHas('destiny', function ($query) { $query->where('clanName', 'Panda Love')->where('clanTag', 'WRKD')->where('inactiveCounter', '<', 10); })->get(); $p = []; Hashes::cacheAccountsHashes($pandas); foreach ($pandas as $panda) { $character = $panda->destiny->highestLevelHighestLight(); $p[$character->level][] = ['name' => $panda->gamertag . " (" . $character->class->title . ")", 'maxLight' => $character->highest_light, 'light' => $character->light]; } krsort($p); foreach ($p as $key => $value) { // lets sort the sub levels usort($value, function ($a, $b) { return $b['maxLight'] - $a['maxLight']; }); $p[$key] = $value; } $msg = '<strong>Light Leaderboard</strong><br /><br />'; foreach ($p as $level => $chars) { $msg .= "<strong>Level " . $level . "'s</strong><br />"; $i = 1; foreach ($chars as $char) { $msg .= $i . ". " . $char['name'] . " <strong>" . $char['maxLight'] . "</strong><br />"; $i++; } $msg .= '<br />'; } return Response::json(['error' => false, 'msg' => $msg], 200); }
public function getIndex() { $accounts = Account::with('destiny.characters')->whereHas('destiny', function ($query) { $query->where('clanName', 'Panda Love'); })->orderBy('gamertag', 'ASC')->paginate(15); // attempt hash cache Hashes::cacheAccountsHashes($accounts); return view('destiny.roster', ['members' => $accounts, 'description' => 'PandaLove Destiny Roster page', 'title' => 'PandaLove Destiny Roster']); }