© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
FilamentF
Filament•3y ago•
1 reply
Mark Chaney

Select Search Optimization

Looking for a second set of eyes here. Trying to get good UX here. Participants list can in the thousands, but search seems a bit slow here and obviously nothing is loaded by default. Suggestions for improvements?
Select::make('participant_id')
    ->label('Participant')
    ->placeholder('Select a participant (optional)')
    ->searchable()
    ->getSearchResultsUsing(function (string $search) {
        $query = User::active()->whereHas('participant');

        if (auth()->user()->isCaseManager()) {
            $query->where('participant.agency_id', auth()->user()->case_manager->agency_id);
        }

        return $query
            ->where('name', 'like', "%{$search}%")
            ->limit(50)
            ->get()
            ->pluck('name', 'participant.id')
            ->toArray();
    })
    ->afterStateUpdated(function (Get $get, Set $set) {
        // does some stuff
    })
    ->reactive(),
Select::make('participant_id')
    ->label('Participant')
    ->placeholder('Select a participant (optional)')
    ->searchable()
    ->getSearchResultsUsing(function (string $search) {
        $query = User::active()->whereHas('participant');

        if (auth()->user()->isCaseManager()) {
            $query->where('participant.agency_id', auth()->user()->case_manager->agency_id);
        }

        return $query
            ->where('name', 'like', "%{$search}%")
            ->limit(50)
            ->get()
            ->pluck('name', 'participant.id')
            ->toArray();
    })
    ->afterStateUpdated(function (Get $get, Set $set) {
        // does some stuff
    })
    ->reactive(),
. Basically a participant is relationship on a user. The name is tied to the user, but i need the participant id. Im sure it can be done in a cleaner way. Im open to all ideas.
Filament banner
FilamentJoin
A powerful open source UI framework for Laravel • Build and ship admin panels & apps fast with Livewire
20,307Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

Search modified select field
FilamentFFilament / ❓┊help
9mo ago
JavaScript Select Search Options
FilamentFFilament / ❓┊help
16mo ago
Select field - Multiple & Search
FilamentFFilament / ❓┊help
3y ago
Column search with Select
FilamentFFilament / ❓┊help
3y ago