Php 使用Laravel APi时,搜索返回数据库中的所有数据

Php 使用Laravel APi时,搜索返回数据库中的所有数据,php,laravel,api,laravel-api,Php,Laravel,Api,Laravel Api,我正在使用Laravel开发一个API,我希望能够使用该API进行搜索,但我无法 这是我的方法 public function searchapi() { $search = request()->get('search'); /* $books = Book::when($search, function ($query, $search) { return $query->where('name', 'LIKE', "%{$search}%"

我正在使用Laravel开发一个API,我希望能够使用该API进行搜索,但我无法 这是我的方法

   public function searchapi()
   {

 $search = request()->get('search');

   /* $books = Book::when($search, function ($query, $search) {
       return $query->where('name', 'LIKE', "%{$search}%");
   })
    ->orderBy('created_at', 'desc')
    ->simplepaginate(12); */

  $books = Book::where('name', 'LIKE', "%{$search}%")->Paginate(16);
  $author = Author::where('name', 'LIKE', "%{$search}%")->Paginate(16);
  $genre = Category::where('title', 'LIKE', "%{$search}%")->Paginate(16);



   return Response::json(array(
    'books' => $books, 
    'author'=>$author,
    'genre'=>$genre,
 ));


}
我不知道我做错了什么,因为当使用postman进行搜索时,这会返回数据库中的所有数据

我在api.php中的路径

Route::get('/search', 'BooksController@searchapi');
更新 我用邮递员来测试。我通过了
Key=search
value=searchterm

方法:

public function searchapi(Request $request)
   {

 $search = request()->get('search');

   /* $books = Book::when($search, function ($query, $search) {
       return $query->where('name', 'LIKE', "%{$search}%");
   })
    ->orderBy('created_at', 'desc')
    ->simplepaginate(12); */

  $books = Book::where('name', 'LIKE', "%{$search}%")->Paginate(16);
  $author = Author::where('name', 'LIKE', "%{$search}%")->Paginate(16);
  $genre = Category::where('title', 'LIKE', "%{$search}%")->Paginate(16);



   return Response::json(array(
    'books' => $books, 
    'author'=>$author,
    'genre'=>$genre,
 ));


}
路线:

Route::post('/search', 'BooksController@searchapi');

使用
dd()
检查
$search
返回空值。我用邮递员来测试。我通过了Key=search和value=searchTerm怎么通过的?从请求中检索输入的方法是
input
body->form data中的内容类型在key列中,我输入了一个搜索,在Value列中,我输入了搜索项,以测试它是否工作。但这返回了所有数据