diff --git a/app/Http/Controllers/FlightProfileController.php b/app/Http/Controllers/FlightProfileController.php index 53c75aa..cfdc5e8 100644 --- a/app/Http/Controllers/FlightProfileController.php +++ b/app/Http/Controllers/FlightProfileController.php @@ -13,7 +13,17 @@ class FlightProfileController extends Controller { $user = User::whereRaw(DB::raw('LOWER(name) = ?'), [strtolower($username)])->firstOrFail(); - $flights = UserFlight::where('user_id', $user->id)->get(); + $flights = UserFlight::where('user_id', $user->id) + ->with([ + 'departureAirport', + 'arrivalAirport', + 'airline', + 'aircraft', + 'seatType', + 'flightReason', + 'flightClass', + ]) + ->get(); return Inertia::render('FlightProfile', [ 'user' => $user, diff --git a/resources/js/Pages/FlightProfile.vue b/resources/js/Pages/FlightProfile.vue index d6fb50d..87dbe1b 100644 --- a/resources/js/Pages/FlightProfile.vue +++ b/resources/js/Pages/FlightProfile.vue @@ -6,19 +6,63 @@ defineOptions({ layout: MainLayout }) +interface Airport { + id: number + name: string + iata_code: string +} + +interface Airline { + id: number + name: string + iata_code: string +} + +interface Aircraft { + id: number + model_full_name: string + designator: string +} + +interface SeatType { + id: number + name: string +} + +interface FlightReason { + id: number + name: string +} + +interface FlightClass { + id: number + name: string +} + +interface Flight { + id: number + flight_number: string | null + departure_date: string + arrival_date: string + aircraft_registration: string | null + seat_number: string | null + note: string | null + departure_airport: Airport + arrival_airport: Airport + airline: Airline | null + aircraft: Aircraft | null + seat_type: SeatType | null + flight_reason: FlightReason | null + flight_class: FlightClass | null +} + defineProps<{ user: { id: number name: string email: string } - flights: { - id: number - departure: string - arrival: string - flight_number: string - date: string - }[] + flights: Flight[] }>() @@ -35,17 +79,25 @@ defineProps<{ Departure Arrival Date + Airline + Aircraft + Class + Seat - {{ flight.flight_number }} - {{ flight.departure }} - {{ flight.arrival }} - {{ flight.date }} + {{ flight.flight_number ?? '—' }} + {{ flight.departure_airport.iata_code }} + {{ flight.arrival_airport.iata_code }} + {{ flight.departure_date }} + {{ flight.airline?.name ?? '—' }} + {{ flight.aircraft?.designator ?? '—' }} + {{ flight.flight_class?.name ?? '—' }} + {{ flight.seat_number ?? '—' }} - + No flights found. @@ -53,6 +105,3 @@ defineProps<{ - -