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

[NEW] Building a Typical Laravel SaaS

8 lessons
1 h 07 min

Laravel Modules and DDD

16 lessons
1 h 59 min

How to Build Laravel 12 API From Scratch

28 lessons
1 h 21 min

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.