Did you follow the example in the documentation on appending links?
Aug 23, 2016
10
Level 5
Pagination and filter
Hello everyone, I have a filter for my users, based on some criterias, but when I choose the second filter page it doesn't display anything, what I'm doing wrong ? Thanks for the help
Here is my Controller filter function.
public function filter(Request $request){
$clinica = Clinica::first();
// filtrado por valor apellido
if ($request->has('apellidos')){
$pacientes= Paciente::where('apellidos_pac','LIKE','%'.$request->apellidos.'%') ->orderBy('apellidos_pac','asc')->paginate(15);
}
if ($request->has('cedula')){
// filtrado por valor cedula
$pacientes= Paciente::where('cedula_pac','LIKE','%'.$request->cedula.'%') ->orderBy('apellidos_pac','asc')->paginate(15);
}
if ($request->has('historia')){
// filtrado por valor historia
$pacientes= Paciente::where('historia','LIKE','%'.$request->historia.'%') ->orderBy('apellidos_pac','asc')->paginate(15);
}
if ($request->has('ciudad')){
// filtrado por valor ciudad
$pacientes= Paciente::where('lugresid_pac','LIKE','%'.$request->ciudad.'%') ->orderBy('apellidos_pac','asc')->paginate(15);
}
if ($request->has('otros_pac')){
// filtrado por valor otros_pac
$pacientes= Paciente::where('otros_pac','LIKE','%'.$request->otros_pac.'%') ->orderBy('apellidos_pac','asc')->paginate(15);
}
return view ('pacientes.filter',compact('pacientes','clinica'));
}
My view is this
@extends('layout.layout')
@section('content')
<div class="row">
<div class="col-sm-3 mol-md-2 sidebar">
@can('ver_paciente')
<h3>Filtrar contenido</h3>
{{ Form::open(array('url' => 'paciente/filter')) }}
{{-- Apellidos --}}
<fieldset class="form-group">
<label class="col-sm-2 control-label" for="apellidos">Apellidos</label>
<input class="form-control" type="text" id="apellidos" name="apellidos">
</fieldset>
{{-- Cedula --}}
<fieldset class="form-group">
<label class="col-sm-2 control-label" for="cedula">Cédula</label>
<input class="form-control" type="text" id="cedula" name="cedula">
</fieldset>
{{-- Historia --}}
<fieldset class="form-group">
<label class="col-sm-2 control-label" for="historia">Historia clínica</label>
<input class="form-control" type="text" id="historia" name="historia">
</fieldset>
{{-- Ciudad --}}
<fieldset class="form-group">
<label class="col-sm-2 control-label" for="ciudad">Ciudad</label>
<input class="form-control" type="text" id="ciudad" name="ciudad">
</fieldset>
{{-- Sucursal --}}
<fieldset class="form-group">
<label class="col-sm-2 control-label" for="otros_pac">Sucursal</label>
<input class="form-control" type="text" id="otros_pac" name="otros_pac">
</fieldset>
<fieldset>
<input type="submit" name="Filtrar" class="button btn-success">
</fieldset>
{{ Form::close() }}
@can('crear_paciente')
<h3>Agregar paciente</h3>
{{ Html::link('/paciente/create', 'Agregar paciente', array('class' => 'btn btn-default' ), false)}}
@endcan
</div>
<div class="col-md-9 main" >
<h1>Pacientes -
</h1>
<div class="table-responsive">
<table class="table table-striped ">
<thead>
<tr>
<th>Apellidos</th>
<th>Nombres</th>
<th>Cédula</th>
<th>Historia</th>
<th>Condición</th>
<th>Sucursal</th>
</tr>
</thead>
<tbody>
@foreach($pacientes as $paciente)
<tr>
<td>
{{ Html::link("paciente/$paciente->id_pac" , $paciente->apellidos_pac)}}</td>
<td>{{ $paciente->nombres_pac }}</td>
<td>{{ $paciente->cedula_pac }}</td>
<td>{{ $paciente->historia }}</td>
<td>{{ $paciente->condicion->condicion }}</td>
<td>{{ $paciente->otros_pac }}</td>
</tr>
@endforeach
</tbody>
</table>
<div class="pagination">
@if((Request::only('otros_pac')!=null))
{{ $pacientes->appends(Request::only('otros_pac'))->links() }}
@endif
</div>
@endcan
</div>
</div>
</div>
@stop
and my route
Route::post('/paciente/filter','PacienteController@filter' );
Please or to participate in this conversation.