public function compose($view) { $nearby = Cache::remember('nearbyMissions', 60, function () { $nearby['past'] = Mission::past()->take(3)->get(); $nearby['future'] = Mission::future()->take(3)->get(); return $nearby; }); $view->with('nearbyMissions', ['past' => $nearby['past'], 'future' => $nearby['future']]); }
/** * GET, /missions/past. Shows all past missions in a list. * * @return \Illuminate\View\View */ public function allPastMissions() { JavaScript::put(['missions' => Mission::past(true)->with(['vehicle', 'destination'])->get()->map(function ($mission) { $transformedMission = $mission->toArray(); $transformedMission['launch_date_time'] = $mission->present()->launchDateTime(); $transformedMission['generic_vehicle'] = $mission->vehicle->generic_vehicle; $transformedMission['generic_vehicle_count'] = ordinal($mission->generic_vehicle_count); $transformedMission['launch_of_year'] = ordinal($mission->launch_of_year); $transformedMission['successful_consecutive_launch'] = ordinal($mission->successful_consecutive_launch); $transformedMission['launch_site'] = $mission->launchSite->full_location; $transformedMission['featured_image_url'] = $mission->present()->featuredImageUrl(); return $transformedMission; })]); return view('missions.past'); }
/** * @param $substatistic * @return int */ public static function turnarounds($substatistic) { if ($substatistic == 'Quickest') { $lowestTurnaround = null; $missions = Mission::past()->get()->keyBy('launch_order_id'); $missions->each(function ($mission, $key) use($missions, &$lowestTurnaround) { if ($key == 1) { return null; } $turnaround = Carbon::parse($mission->launch_exact)->diffInSeconds(Carbon::parse($missions->get($key - 1)->launch_exact)); $lowestTurnaround = $lowestTurnaround == null ? $turnaround : min($lowestTurnaround, $turnaround); }); return $lowestTurnaround; } else { if ($substatistic == 'Since Last Launch') { return Mission::past()->first()->launch_date_time; } else { if ($substatistic == 'Over Time') { } } } }