1. Зачем csrf при get запросе?
2. Вместо url('/search') лучше использовать
named routes и route('search')
3. Надо забыть про $_GET и isset($_GET). У
вас есть $request->get() и $request->has()
4. Можно забыть про $request->has() у вас есть
query()->when()
5. Зачем вы делаете all()? Вы дергаете все записи потом это фильтруете? Зачем вам тогда БД?
Итого:
$items = Trip::when($request->get('day_date'), function($query, $date){ $query->where('date', $date); })
->when($request->get('city_departure'), function($query, $departure_id){ $query->where('departure_id', $departure_id); })
->when($request->get('city_arrival'), function($query, $landing_id){ $query->where('landing_id', $landing_id); })
->get();
return view('search')->with(['mass' => $items]);