public function run()
 {
     Astronaut::create(array('first_name' => 'Robert', 'last_name' => 'Behnken', 'gender' => 'Male', 'deceased' => false, 'nationality' => 'United States', 'date_of_birth' => Carbon::createFromDate(1970, 7, 28), 'contracted_by' => 'NASA'));
     Astronaut::create(array('first_name' => 'Sunita', 'last_name' => 'Williams', 'gender' => 'Female', 'deceased' => false, 'nationality' => 'United States', 'date_of_birth' => Carbon::createFromDate(1965, 9, 19), 'contracted_by' => 'NASA'));
     Astronaut::create(array('first_name' => 'Eric', 'last_name' => 'Boe', 'gender' => 'Male', 'deceased' => false, 'nationality' => 'United States', 'date_of_birth' => Carbon::createFromDate(1964, 10, 1), 'contracted_by' => 'NASA'));
     Astronaut::create(array('first_name' => 'Douglas', 'last_name' => 'Hurley', 'gender' => 'Male', 'deceased' => false, 'nationality' => 'United States', 'date_of_birth' => Carbon::createFromDate(1966, 10, 21), 'contracted_by' => 'NASA'));
 }
 private function manageAstronautFlightsRelation()
 {
     $astronautFlightsInput = array_pull($this->input['mission']['spacecraft_flight'], 'astronaut_flights');
     foreach ($astronautFlightsInput as $astronautFlightInput) {
         $astronautFlight = array_key_exists('astronaut_flight_id', $astronautFlightInput) ? AstronautFlight::find($astronautFlightInput['astronaut_flight_id']) : new AstronautFlight();
         $astronautId = $astronautFlightInput['astronaut']['astronaut_id'];
         $astronaut = is_null($astronautId) ? new Astronaut() : Astronaut::find($astronautId);
         $astronaut->fill($astronautFlightInput['astronaut']);
         $astronaut->astronautFlights()->save($astronautFlightInput);
         $astronautFlight->spacecraftFlight()->associate($spacecraftFlight);
     }
 }
 public function getCreate()
 {
     JavaScript::put(['destinations' => Destination::all(['destination_id', 'destination'])->toArray(), 'missionTypes' => MissionType::all(['name', 'mission_type_id'])->toArray(), 'launchSites' => Location::where('type', 'Launch Site')->get()->toArray(), 'landingSites' => Location::where('type', 'Landing Site')->orWhere('type', 'ASDS')->get()->toArray(), 'vehicles' => Vehicle::all(['vehicle', 'vehicle_id'])->toArray(), 'parts' => Part::whereDoesntHave('partFlights', function ($q) {
         $q->where('landed', false);
     })->get()->toArray(), 'spacecraft' => Spacecraft::all()->toArray(), 'astronauts' => Astronaut::all()->toArray()]);
     return view('missions.create');
 }