控制器-搜索系统Laravel 5.6

时间:2019-02-12 23:02:26

标签: php laravel

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

我有一个名为 clubs 的表,我只想获取 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);
}

对于我的函数search(),我不知道语法...我不太了解如何在我的搜索函数中整合分页和“ name_club”字段

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

路线     路线:: resource('/ admin','ClubController');     路线:: resource('/ search','ClubController @ search');

谢谢您的帮助。

1 个答案:

答案 0 :(得分: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);