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 | |
| parent | 27a26440b3104059ef890c95af850b9a43926a31 (diff) | |
Setup search in test table
| -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) +        )); +    }  } | 
