diff --git a/app/Enums/FlightStatus.php b/app/Enums/FlightStatus.php new file mode 100644 index 0000000..dea1963 --- /dev/null +++ b/app/Enums/FlightStatus.php @@ -0,0 +1,8 @@ +input('adult', 0) + + $request->input('children', 0); + + $flights = Flight::query() + ->where('status', FlightStatus::ENABLE) + ->applyFilter() + ->when($request->filled('from-destination'), function (Builder $query) use ($request) { + $query->whereHas('departureAirport.city', function (Builder $query) use ($request) { + $query->where('name', 'LIKE', '%' . $request->input('from-destination') . '%'); + }); + }) + + ->when($request->filled('to-destination'), function (Builder $query) use ($request) { + $query->whereHas('arrivalAirport.city', function (Builder $query) use ($request) { + $query->where('name', 'LIKE', '%' . $request->input('to-destination') . '%'); + }); + }) +// ->when($request->filled('journey-date'), function (Builder $query) use ($request) { +// $date = Verta::parse($request->input('journey-date')) +// ->formatGregorian('Y-m-d'); +// +// $query->whereDate('departure_time', $date); +// }) + ->when($passengers > 0, function (Builder $query) use ($passengers) { + $query->where('capacity', '>=', $passengers); + }) + ->with([ + 'departureAirport.city', + 'arrivalAirport.city', + 'airline', + 'file', + ]) + ->orderByDesc('created_at') + ->paginate(12); + + return view('flights.index', compact('flights')); + } + + public function show(Flight $flight) + { + abort_if($flight->status !== FlightStatus::ENABLE->value, 404); + + $flight->increment('views'); + + $flight->load([ + 'departureAirport.city', + 'arrivalAirport.city', + 'airline', + 'file', + 'comments' => function ($query) { + $query->where('status', CommentStatus::APPROVED) + ->with('user') + ->orderByDesc('created_at'); + }, + ]); + + + + return view('flights.show', compact('flight')); + } +} diff --git a/resources/views/components/flight.blade.php b/resources/views/components/flight.blade.php new file mode 100644 index 0000000..c17544d --- /dev/null +++ b/resources/views/components/flight.blade.php @@ -0,0 +1,27 @@ + +
{{ $flight->departure_time->toJalali()->format('Y/m/d H:i') }}
+