airlineRepo = $airlineRepo; $this->aircraftRepo = $aircraftRepo; $this->pirepRepo = $pirepRepo; } public function airportList() { # TODO: Cache $retval = []; $airports = Airport::all(); foreach($airports as $airport) { $retval[$airport->id] = $airport->icao.' - '.$airport->name; } return $retval; } public function aircraftList() { $retval = []; $aircraft = $this->aircraftRepo->all(); foreach ($aircraft as $ac) { $retval[$ac->id] = $ac->subfleet->name.' - '.$ac->name.' ('.$ac->registration.')'; } return $retval; } public function index(Request $request) { $user = Auth::user(); $pireps = Pirep::where('user_id', $user->id) ->orderBy('created_at', 'desc') ->get(); return $this->view('pireps.index', [ 'user' => $user, 'pireps' => $pireps, ]); } public function create() { $airports = $this->airportList(); return $this->view('pireps.create', [ 'airports' => $airports, 'airlines' => Airline::all()->pluck('name', 'id'), 'aircraft' => $this->aircraftList(), 'pirepfields' => PirepField::all(), 'fieldvalues' => [], ]); } public function store(Request $request) { } public function show($id) { $pirep = Pirep::where('id', $id); return $this->view('pireps.show', [ 'pirep' => $pirep, ]); } }