Skip to main content
Quick Tip

Filament: Select Dropdown Search with Custom Logic

You can customize the Select dropdown to search for any custom logic you want with the ->getSearchResultsUsing() method.

This example shows how to search for a Customer by email/phone/name after whatever the user is typing in the Select search box.

Forms\Components\Select::make('user_id')
->label('Customer')
->getSearchResultsUsing(function (string $search): array {
return User::query()
->where(function (Builder $builder) use ($search) {
$searchString = "%$search%";
$builder->where('name', 'like', $searchString)
->orWhere('email', 'like', $searchString)
->orWhere('phone', 'like', $searchString);
})
->where('role_id', Role::CUSTOMER)
->limit(50)
->get()
->mapWithKeys(function (User $customer) {
return [$customer->id => $customer->name];
})
->toArray();
})

Enjoyed This Tip?

Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.

Recent Courses on Laravel Daily

Next.js Basics for Laravel Developers

11 lessons
58 min

Roles and Permissions in Laravel 13

14 lessons
57 min

Testing in Laravel 13 For Beginners

26 lessons
1 h 41 min read