summaryrefslogtreecommitdiff
path: root/workbench
diff options
context:
space:
mode:
authorSam Light <samlight1994@gmail.com>2025-01-19 00:43:21 +0000
committerSam Light <samlight1994@gmail.com>2025-01-19 00:43:21 +0000
commit08ce4949f964790a77f580cb19ba40818fa316ad (patch)
treee4634b402931e01285d017a5c854ce8e271a59f4 /workbench
parent27a26440b3104059ef890c95af850b9a43926a31 (diff)
Setup search in test table
Diffstat (limited to 'workbench')
-rw-r--r--workbench/app/Livewire/ProductsTable.php7
-rw-r--r--workbench/app/Models/Product.php10
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)
+ ));
+ }
}