query('sort', 'default'); $title = 'پروازها'; $flights = Flight::with(['airline', 'origin_airport.city', 'airport.city']) ->where('status', FlightStatus::AVAILABLE) ->filterFrom($request->input('from-destination')) ->filterTo($request->input('to-destination')) ->filterDepartureDate($request->input('journey-date')) ->applySort($sort) ->paginate(4) ->withQueryString(); return view('flights.index', compact('title', 'flights', 'sort')); } public function show(Flight $flight) { $title = 'جزئیات پرواز'; $flight->increment('views_count'); $isFavorite = false; if (auth()->check()) { $isFavorite = Favorite::where('user_id', auth()->id()) ->where('flight_id', $flight->id) ->exists(); } return view('flights.show', compact('title', 'flight', 'isFavorite')); } public function commentStore(FlightCommentStoreRequest $request, Flight $flight) { try { Comment::create([ 'flight_id' => $flight->id, 'user_id' => auth()->id(), 'parent_id' => $request->parent_id, 'guest_name' => auth()->check() ? null : $request->guest_name, 'guest_email' => auth()->check() ? null : $request->guest_email, 'content' => $request->content, 'status' => CommentStatus::PENDING, ]); return back()->with('success', 'نظر شما با موفقیت ثبت شد.'); } catch (\Exception $e) { return back() ->withInput() ->with('error', 'ثبت نظر با خطا مواجه شد.'); } } }