diff options
author | Sam Light <samlight1994@gmail.com> | 2025-01-19 00:43:21 +0000 |
---|---|---|
committer | Sam Light <samlight1994@gmail.com> | 2025-01-19 00:43:21 +0000 |
commit | 08ce4949f964790a77f580cb19ba40818fa316ad (patch) | |
tree | e4634b402931e01285d017a5c854ce8e271a59f4 /workbench | |
parent | 27a26440b3104059ef890c95af850b9a43926a31 (diff) |
Setup search in test table
Diffstat (limited to 'workbench')
-rw-r--r-- | workbench/app/Livewire/ProductsTable.php | 7 | ||||
-rw-r--r-- | workbench/app/Models/Product.php | 10 |
2 files changed, 17 insertions, 0 deletions
diff --git a/workbench/app/Livewire/ProductsTable.php b/workbench/app/Livewire/ProductsTable.php index 26137bc..3b327d9 100644 --- a/workbench/app/Livewire/ProductsTable.php +++ b/workbench/app/Livewire/ProductsTable.php @@ -7,10 +7,17 @@ use Workbench\App\Models\Product; use Lightscale\LaralightTables\TableComponent; use Lightscale\LaralightTables\Columns\Column; +use Illuminate\Database\Eloquent\Builder; + class ProductsTable extends TableComponent { protected $model = Product::class; + protected function search(Builder $q, string $s): void + { + $q->search($s); + } + public function columns(): array { return [ diff --git a/workbench/app/Models/Product.php b/workbench/app/Models/Product.php index c51569c..11e88e5 100644 --- a/workbench/app/Models/Product.php +++ b/workbench/app/Models/Product.php @@ -4,6 +4,7 @@ namespace Workbench\App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Builder; class Product extends Model { @@ -13,4 +14,13 @@ class Product extends Model { return \Workbench\Database\Factories\ProductFactory::new(); } + + public function scopeSearch(Builder $q, string $s): void + { + $s = "%{$s}%"; + $q->where(fn(Builder $q) => ( + $q->orWhere('name', 'like', $s) + ->orWhere('description', 'like', $s) + )); + } } |