first(); $near_impossible = AchievementDifficulty::where('internal_name', 'near_impossible')->first(); $fun_challenges = AchievementCategory::where('internal_name', 'fun_challenges')->first(); Achievement::create([ 'name' => 'London Calling', 'internal_name' => 'fun_challenges.all_london_airports', 'short_description' => 'Fly to all official London airports', 'progressive' => true, 'difficulty_description' => 'Much more achievable if you live in London!', 'threshold' => 6, 'achievement_category_id' => $fun_challenges->id, 'achievement_difficulty_id' => $hard->id, 'has_page' => true, 'sort_order' => 10, 'icon' => 'standard_achievement.png', 'long_description' => '', ]); $distance = AchievementCategory::create([ 'name' => 'Distance', 'internal_name' => 'distance', 'description' => 'Achievements that are based on distance' ]); Achievement::create([ 'name' => 'Million Miler', 'internal_name' => 'distance.million_miles', 'short_description' => 'Fly one million miles', 'progressive' => true, 'threshold' => 1609344, 'achievement_category_id' => $distance->id, 'achievement_difficulty_id' => $near_impossible->id, 'has_page' => false, 'sort_order' => 4, 'icon' => 'standard_achievement.png', 'long_description' => '', ]); Achievement::whereInternalName('general_flying.gigametre')->update([ 'internal_name' => 'distance.gigametre', 'achievement_category_id' => $distance->id, 'sort_order' => 3 ]); Achievement::whereInternalName('general_flying.circumference_of_the_earth')->update([ 'internal_name' => 'distance.circumference_of_the_earth', 'achievement_category_id' => $distance->id, 'sort_order' => 1 ]); Achievement::whereInternalName('general_flying.to_the_moon')->update([ 'internal_name' => 'distance.to_the_moon', 'achievement_category_id' => $distance->id, 'sort_order' => 2 ]); foreach(User::all() as $user){ $user->calculateAchievements(); } } /** * Reverse the migrations. */ public function down(): void { // } };