Sort achievement categories
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Achievement;
|
||||
use App\Models\AchievementCategory;
|
||||
use App\Models\Aircraft;
|
||||
use App\Models\Airport;
|
||||
use App\Models\Alliance;
|
||||
@@ -105,8 +106,14 @@ class UserProfileController extends Controller
|
||||
$achievements = Achievement::with(['category', 'difficulty'])
|
||||
->orderBy('id', 'asc')
|
||||
->get()
|
||||
->groupBy(fn(Achievement $a) => $a->category->name)
|
||||
->map(fn($group) => $group->sortBy('sort_order')->values());
|
||||
->groupBy(fn(Achievement $a) => $a->category->internal_name)
|
||||
->sortBy(function ($group, $internalName) {
|
||||
$index = array_search($internalName, AchievementCategory::ORDER);
|
||||
return $index === false ? PHP_INT_MAX : $index;
|
||||
})
|
||||
->mapWithKeys(fn($group) => [
|
||||
$group->first()->category->name => $group->sortBy('sort_order')->values(),
|
||||
]);
|
||||
|
||||
$userAchievements = $user->achievements()
|
||||
->with('achievement')
|
||||
|
||||
Reference in New Issue
Block a user