user(); abort_unless($user, 401); $myMeetupIds = $user->meetups->pluck('id'); return Meetup::query() ->select('id', 'name', 'city_id', 'slug') ->with([ 'city.country', ]) ->whereIn('id', $myMeetupIds->toArray()) ->orderBy('name') ->when( $request->search, fn (Builder $query) => $query ->where('name', 'like', "%{$request->search}%") ->orWhereHas('city', fn (Builder $query) => $query->where('cities.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 (Meetup $meetup) { $meetup->profile_image = $meetup->getFirstMediaUrl('logo', 'thumb'); return $meetup; }); } #[ExcludeRouteFromDocs] public function store(Request $request) { // } #[ExcludeRouteFromDocs] public function show(Meetup $meetup) { // } #[ExcludeRouteFromDocs] public function update(Request $request, Meetup $meetup) { // } #[ExcludeRouteFromDocs] public function destroy(Meetup $meetup) { // } }