From ae626e539236be499187aaba0bc596f9faadbceb Mon Sep 17 00:00:00 2001 From: "Christopher C. Wells" Date: Sat, 23 Jan 2021 16:09:17 -0800 Subject: [PATCH] Add search and filtering to food index --- app/JsonApi/Adapters/FoodAdapter.php | 9 +- app/JsonApi/Schemas/FoodSchema.php | 2 +- .../components/ingredient-picker.blade.php | 1 - .../views/components/inputs/button.blade.php | 4 +- resources/views/foods/index.blade.php | 137 +++++++++++++----- 5 files changed, 111 insertions(+), 42 deletions(-) diff --git a/app/JsonApi/Adapters/FoodAdapter.php b/app/JsonApi/Adapters/FoodAdapter.php index b8a7979..dd509d7 100644 --- a/app/JsonApi/Adapters/FoodAdapter.php +++ b/app/JsonApi/Adapters/FoodAdapter.php @@ -38,7 +38,14 @@ class FoodAdapter extends AbstractAdapter */ protected function filter($query, Collection $filters) { - $this->filterWithScopes($query, $filters); + if ($term = $filters->get('search')) { + $query->where('foods.name', 'like', "%{$term}%") + ->orWhere('foods.detail', 'like', "%{$term}%") + ->orWhere('foods.brand', 'like', "%{$term}%"); + } + else { + $this->filterWithScopes($query, $filters); + } } } diff --git a/app/JsonApi/Schemas/FoodSchema.php b/app/JsonApi/Schemas/FoodSchema.php index d56c790..10a8305 100644 --- a/app/JsonApi/Schemas/FoodSchema.php +++ b/app/JsonApi/Schemas/FoodSchema.php @@ -30,7 +30,7 @@ class FoodSchema extends SchemaProvider public function getAttributes($resource) { return [ - 'name' => $resource->created_at, + 'name' => $resource->name, 'detail' => $resource->detail, 'brand' => $resource->brand, 'calories' => $resource->calories, diff --git a/resources/views/components/ingredient-picker.blade.php b/resources/views/components/ingredient-picker.blade.php index ea5533b..a8c703d 100644 --- a/resources/views/components/ingredient-picker.blade.php +++ b/resources/views/components/ingredient-picker.blade.php @@ -49,7 +49,6 @@ - @once @push('scripts') + @endpush + @endonce