public function index(Request $request) { $trips = Trip::future(); if ($request->has('origin') && $request->get('origin') != null) { $origin = $request->get('origin'); $trips->where('origin', 'LIKE', "%{$origin}%"); } if ($request->has('destination') && $request->get('destination') != null) { $destination = $request->get('destination'); $trips->where('destination', 'LIKE', "%{$destination}%"); } if ($request->has('day') && $request->get('day') != null) { $day = new Carbon($request->get('day')); $dayAfter = (new Carbon($request->get('day')))->addDay(); $trips->whereBetween('leaves_at', [$day, $dayAfter]); } $trips = $trips->orderBy('leaves_at')->get(); $reservations = Auth::user()->reservations; return view('booking.index', compact('trips', 'reservations')); }