From 820058dab0fb1112a8e5c866c62fdd931aaca6e8 Mon Sep 17 00:00:00 2001 From: iridium34 Date: Sun, 16 Mar 2025 02:11:38 +0100 Subject: [PATCH] created color search function --- app/Livewire/Filament/Color.php | 4 +++- app/Providers/AppServiceProvider.php | 7 ++++++- resources/views/livewire/filament/color.blade.php | 5 ++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/Livewire/Filament/Color.php b/app/Livewire/Filament/Color.php index 8027afd..f4e2453 100644 --- a/app/Livewire/Filament/Color.php +++ b/app/Livewire/Filament/Color.php @@ -24,6 +24,8 @@ class Color extends Component public $createModal = false; + public $search =''; + public function create() { @Auth::check(); @@ -52,7 +54,7 @@ class Color extends Component public function render() { return view('livewire.filament.color', [ - 'colors' => ColorModel::paginate(10) + 'colors' => ColorModel::search('name', $this->search)->paginate(10) ]); } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 452e6b6..c44777e 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,6 +3,7 @@ namespace App\Providers; use Illuminate\Support\ServiceProvider; +use Illuminate\Database\Eloquent\Builder; class AppServiceProvider extends ServiceProvider { @@ -19,6 +20,10 @@ class AppServiceProvider extends ServiceProvider */ public function boot(): void { - // + // Search + Builder::macro('search', function ($field, $string) { + return $string ? $this->where($field, 'like', '%' . $string . '%') : $this; + }); + } } diff --git a/resources/views/livewire/filament/color.blade.php b/resources/views/livewire/filament/color.blade.php index 7daeffa..4efbada 100644 --- a/resources/views/livewire/filament/color.blade.php +++ b/resources/views/livewire/filament/color.blade.php @@ -2,8 +2,11 @@ {{ __('Colors') }} + + + + - Refresh