with([ 'airline', 'airport', 'destinationAirport', ]) ->latest('id') ->paginate(10); foreach ($flights as $flight) { $flight->start_date_fa = $flight->start_time ? $flight->start_time->toJalali()->format('Y/m/d') : null; $flight->end_date_fa = $flight->end_time ? $flight->end_time->toJalali()->format('Y/m/d') : null; $flight->start_time_fa = $flight->start_time ? $flight->start_time->format('H:i') : null; $flight->end_time_fa = $flight->end_time ? $flight->end_time->format('H:i') : null; } return view('admin.flights.index', compact('flights')); } public function edit(Flight $flight) { $airlines = Airline::query() ->orderBy('name') ->get(); $airports = Airport::query() ->orderBy('name') ->get(); return view('admin.flights.edit', compact('flight', 'airlines', 'airports')); } /** * Update the specified flight. */ public function update(FlightUpdatePostRequest $request, Flight $flight) { $data = $request->validated(); $start = verta::parse($data['start_time'])->datetime(); $end = verta::parse($data['end_time'])->datetime(); $data['start_time'] = $start; $data['end_time'] = $end; $flight->update($data); return redirect()->route('admin.flights.index'); } public function create() { $airlines = Airline::query() ->orderBy('name') ->get(); $airports = Airport::query() ->orderBy('name') ->get(); return view('admin.flights.create', compact('airlines', 'airports')); } public function store(FlightPostRequest $request) { $data = $request->validated(); Flight::create([ 'flight_number' => $data['flight_number'], 'airline_id' => $data['airline_id'], 'origin_airports_id' => $data['origin_airports_id'], 'destination_airports_id' => $data['destination_airports_id'], 'start_time' => Verta::parse($data['start_time'])->datetime(), 'end_time' => Verta::parse($data['end_time'])->datetime(), 'price' => $data['price'], 'capacity' => $data['capacity'], 'status' => $data['status'] ?? 1, ]); return redirect() ->route('admin.flights.index') ->with('success', 'پرواز جدید با موفقیت ثبت شد.'); } public function destroy(Flight $flight) { $flight->delete(); return redirect() ->route('admin.flights.index') ->with('success', 'پرواز با موفقیت حذف شد.'); } }