with(['city:id,name,country_id', 'city.country:id,name,code']) ->select('id', 'name', 'city_id') ->orderBy('name') ->when( $request->search, fn(Builder $query) => $query ->where('name', 'ilike', "%{$request->search}%") ) ->when( $request->exists('selected'), fn(Builder $query) => $query->whereIn('id', $request->input('selected', [])), fn(Builder $query) => $query->limit(10) ) ->get() ->map(function (Venue $venue) { $venue->flag = asset('vendor/blade-country-flags/4x3-'.$venue->city->country->code.'.svg'); return $venue; }); } /** * Store a newly created resource in storage. * @return \Illuminate\Http\Response */ public function store(Request $request) { // } /** * Display the specified resource. * @return \Illuminate\Http\Response */ public function show(Lecturer $lecturer) { // } /** * Update the specified resource in storage. * @return \Illuminate\Http\Response */ public function update(Request $request, Lecturer $lecturer) { // } /** * Remove the specified resource from storage. * @return \Illuminate\Http\Response */ public function destroy(Lecturer $lecturer) { // } }