diff --git a/app/Http/Controllers/RecipeController.php b/app/Http/Controllers/RecipeController.php index 5472440..c3633ad 100644 --- a/app/Http/Controllers/RecipeController.php +++ b/app/Http/Controllers/RecipeController.php @@ -26,8 +26,7 @@ class RecipeController extends Controller */ public function index(): View { - return view('recipes.index') - ->with('recipes', Recipe::all()->sortBy('name')); + return view('recipes.index'); } /** diff --git a/app/JsonApi/Adapters/RecipeAdapter.php b/app/JsonApi/Adapters/RecipeAdapter.php index 1c4846b..55eff0d 100644 --- a/app/JsonApi/Adapters/RecipeAdapter.php +++ b/app/JsonApi/Adapters/RecipeAdapter.php @@ -40,7 +40,14 @@ class RecipeAdapter extends AbstractAdapter */ protected function filter($query, Collection $filters) { - $this->filterWithScopes($query, $filters); + if ($term = $filters->get('search')) { + $query->where('recipes.name', 'like', "%{$term}%") + ->orWhere('recipes.description', 'like', "%{$term}%") + ->orWhere('recipes.source', 'like', "%{$term}%"); + } + else { + $this->filterWithScopes($query, $filters); + } } /** diff --git a/resources/views/components/search-view.blade.php b/resources/views/components/search-view.blade.php new file mode 100644 index 0000000..9c42cb2 --- /dev/null +++ b/resources/views/components/search-view.blade.php @@ -0,0 +1,68 @@ +