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')); } }