控制器 - 搜索系统Laravel 5.6

问题描述 投票:0回答:1

我想在Laravel 5.6上创建一个搜索系统。我真正的问题是在我的控制器中创建的“搜索”功能......

我有一张名为club的桌子,我想只获得name_club。

在我的index.blade.php中,我有这个

<form action="/search" method="get">
  <div class="form-group">
    <input type="text" name="search" class="form-control">
    <span class="input-group-prepend">
    <button type="submit" class="btn btn-primary">Search</button>
    </span>
  </div>
</form>

在我的ClubController中我有这个

public function index()
{
   $clubs = Club::oldest()->paginate(5);
   return view('admin.index', compact('clubs'))
             ->with('i', (request()->input('page', 1)-1)*5);
}

对于我的函数搜索()我不知道语法...我真的不明白如何在我的搜索功能中整合我的分页和“name_club”字段

public function search(Request $request)
{   
    $search = $request->get('search');
}

Route Route :: resource('/ admin','ClubController');路线::资源( '/搜索', 'ClubController @搜索');

谢谢您的帮助。

php laravel
1个回答
1
投票

您可以对任何常规查询进行分页:

$search = $request->get('search');
$clubs = Club::oldest()
             ->where('name_club', 'like', "%$search%")
             ->paginate(5);

对于更高级的搜索,我建议使用Laravel Scout。然后它变成这样的东西:

$search = $request->get('search');
$clubs = Club::search($search)->paginate(5);
© www.soinside.com 2019 - 2024. All rights reserved.