Проблема с поиск и разбиение на страницы в Laravel?
код ниже возвращает все записи из базы, а также поиск термин, введенный в input
системах с подкачкой.
проблема В том, что при нажатии, например, на странице 2 он уже обновляет страницу возвращаются все записи. Как остаться только в результате поиска и просмотреть все результаты только тогда, когда он даст submit в input
поиска белый?
public function index(Request $request)
{
$search = $request->search;
$query = School::orderBy('social_name', 'ASC');
if(!empty($search)) {
$query = School::where('social_name', 'LIKE', '%'.$search.'%');
}
$schools = $query->paginate(5);
return view('/dashboard/school/index', compact('schools'))
->with(['active' => 'escola']);
}
, View:
@section('content')
<div class="row">
<div class="col-lg-12">
<div class="card-box">
<div class="row">
<div class="col-md-9">
<form method="GET" action="{{ url('/dashboard/school/create') }}">
<button type="submit" class="btn btn-primary w-md waves-effect m-t-5">Incluir</button>
</form>
</div>
<div id="input-busca" class="col-md-3">
<form method="GET" action="{{ url('/dashboard/school/index') }}">
<div class="input-group m-t-4">
<input type="text" id="example-input2-group2" name="search" class="form-control" placeholder="Buscar">
<span class="input-group-btn">
<button type="submit" class="btn waves-effect waves-light btn-primary"><i class="fa fa-search"></i></button>
</span>
</div>
</form>
</div>
</div>
</div>
<div class="card-box">
<div class="table-responsive">
<table class="table m-0 table-hover">
<thead>
<tr>
<th>Nome da Escola</th>
<th>Detalhes</th>
<th>Alterar</th>
<th>Excluir</th>
</tr>
</thead>
<tbody>
@foreach($schools as $school)
<tr>
<td>{{ $school->social_name }}</td>
<td>
<a href="#"><i class="fa fa-file-text-o fa-1_5x"></i></a>
</td>
<td>
<a href="#"><i class="fa fa-pencil-square-o fa-1_5x"></i></a>
</td>
<td>
<a href="#"><i class="fa fa-trash-o fa-1_5x"></i></a>
</td>
</tr>
@endforeach
</tbody>
</table>
{{ $schools->links() }}
</div>
</div>
</div><!-- end col -->
</div>
<!-- end row -->
@endsection
2
1 answers
В метод index
, нужно пройти, чтобы view
переменная $search
, то, пожалуйста, следующие изменения:
public function index(Request $request)
{
$search = $request->search;
$query = School::orderBy('social_name', 'ASC');
if(!empty($search)) {
$query = School::where('social_name', 'LIKE', '%'.$search.'%');
}
$schools = $query->paginate(5);
return view('/dashboard/school/index')
->with('schools', $schools)
->with('search', $search)
->with('active','escola');
}
И View
стрейч {{ $schools->links() }}
измените так, чтобы включать в себя исследования в вашем url
с помощью метода appends
:
{{ $schools->appends(['search' => isset($search) ? $search : ''])->links() }}
, эти изменения все исследования, в результате подкачки будет иметь links
ultima проведенного исследования.
Ссылается на:
2
Author: novic, 2017-05-28 23:32:05