【问题标题】:Search Returns All Data in Database while using Laravel APi使用 Laravel APi 时搜索返回数据库中的所有数据
【发布时间】:2020-04-04 11:36:25
【问题描述】:

我正在使用 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,
 ));


}

我不知道我做错了什么,因为这会在使用邮递员搜索时返回数据库中的所有数据。

我在 api.php 中的路由

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

更新

我正在使用邮递员进行测试。我通过了Key=searchvalue=searchterm

【问题讨论】:

  • 使用dd()检查$search
  • 它返回空值。我正在使用邮递员进行测试。我通过了 Key=search 和 value=searchterm
  • 怎么通过的?从请求中检索输入的方法是input
  • 内容类型是什么
  • 在body -> form-data的key栏里,我输入了一个搜索,在Value栏里,我输入了搜索词,测试它是否有效。但这返回了所有数据

标签: php laravel api laravel-api


【解决方案1】:

方法:

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');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    • 2022-10-13
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 2017-02-17
    • 2021-02-21
    相关资源
    最近更新 更多