How to make my API method GET through id connect with my html form on view - Laravel 8

766 Views Asked by At

Hi guys! Hope you can help me out with this: - So i have this code in my API controller: API controller

-This route in my API route: API route

-And this on my view (only the part im having problems with): view

ps: the line of form action is correctly seperated, where it says ..."get"action... , i just put it like that here because of space. Q.: When i use the route to GET all the data from the database my output is a json file with everything in it, but when i use this route to only get the data of one movie (in my case it's a DB of movies) the output is an empty JSON file, even tho the method works on postman. Can you help me out ? Thank you MY OUTPUT , of the empty json file

1

There are 1 best solutions below

1
Apurv Bhavsar On BEST ANSWER

Using a form with getting method the form data will be appended in Query Parameter.

/search/titulo -> it is wrong. the titulo word is not dynamic keyword.

You get your dynamic search keyword in titulo keyword after ?titulo=avenger

Use the request function to get the query parameter value

$seach = request()->get('titulo');

You should change your search to get a route to only /search?keyword=avenger like this.

Full example

In your blade file

<form action"{{ route('search') }}" method="get">
     <input name="titulo">
     <button type="submit">Search</button>
</form>

In your route file

Route::get('/search', [YourControllerName::class, 'methodname'])->name('search');

In your controller File: Where you handle the searched keyword

public function search() {
     $search = request()->get('titulo'); // Get the searched keyword value
     $result = ModelName::where('titulo', 'like', '%'.$search.'%')->get();
     return $result;
}