get('search'); $venues = Venue::query() ->with(['city:id,name,country_id', 'city.country:id,name,code']) ->select('id', 'name', 'city_id') ->orderBy('name') ->when( $search, fn (Builder $query) => $query ->where('name', 'ilike', "%{$search}%") ) ->limit(10) ->get() ->map(function (Venue $venue) { $venue->flag = asset('vendor/blade-country-flags/4x3-'.$venue->city->country->code.'.svg'); $venue->description = $venue->city->name.', '.$venue->street; return $venue; }); return Response::json($venues->values()); } /** * @return array */ public function schema(JsonSchema $schema): array { return [ 'search' => $schema->string()->description('Teilstring-Suche im Namen des Veranstaltungsortes.'), ]; } }