我想在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');
谢谢您的帮助。
答案 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);