Mostrar el registro Next y Prev en Laravel

Consulta para extraer el registro anterior y siguiente

Mostrar el registro Next y Prev en Laravel

Consulta para extraer el registro anterior y siguiente

DESCARGAR

¿Cómo extraer el registro next y prev en Laravel ? Realizamos consultas elocuent que extraen datos a partir de recibir como parámetro el ID del registro

Tener un botón de next o siguiente en una aplicación web es un método mucho más optimizado que tener un paginador completo con rangos de páginas.

¿Cómo programar un botón siguiente y anterior con Laravel ?

Programando la función que cumplirá la acción de determinar el registro anterior y posterior calculada en base al registro actual de la consulta:

public function registro($id){
        //RETORNAR EL REGISTRO SIGUIENTE Y ANTERIOR DE UN REGISTRO ACTUAL//
        $registro   =   Modelo::where("id",$id)
                        ->first();
        $next       =   Modelo::where('id', '>', $registro->id)
                        ->orderBy('id', 'asc')
                        ->first();
        $prev       =   Modelo::where('id', '<', $registro->id)
                        ->orderBy('id', 'desc')
                        ->first();
        return view("vista.registro",compact('registro','next','prev'));
    }

La función registro espera un parámetro definido como $id; 

Las 03 consultas de la función registro

  1. Consulta nro 1.-  $registro   =   Modelo::where("id",$id)->first(); Esta consulta extrae el registro que coincide el valor del $id que tiene como parámetro.

  2. Consulta nro 2.-  $next = Modelo::where('id', '>', $registro->id)->orderBy('id', 'asc')->first(); Consulta que permite extraer el siguiente registro a partir de la consulta nro 1; con ella obtenemos el id que usado para extraer el primer resultado,
  3. Consulta nro 3.- $prev = Modelo::where('id', '<', $registro->id)->orderBy('id', 'desc')->first(); La tercera consulta extrae el registro anterior al registro actual.

Luego retornamos en una vista blade todos los datos del registro actual, el siguiente registro en next y el registro anterior en prev

Acceder a los datos de los registro next y prev

La forma de acceder a los datos mediante una vista o plantilla blade es la siguiente

  1. Digamos que queremos mostra el id del registro contenido en next: el código sería  {{$next->id}} y para prev es {{$prev->id}} de igual forma para los diferentes atributos que tenga el modelo registro.
  2. Para acceder a los datos del registro actual tenemos la siguiente sintaxis: {{$registro->id}}; entonces con ello obtenemos el id.

¿Cómo se usa en una página web?

Muy fácilmente, colocamos dos links con la etiqueta html; veamos un ejemplo de código html y blade:

 <div class="row">
                        <div class="col-6">
                            @if(!empty($prev))                            
                            <a href="/registro/{{$prev->slug}}" class="btn btn-outline-success btn-sm btn-block" >
                                &#171; Anterior{{$prev->id}} 
                            </a>
                            <p>{{$prev->nombre}}</p>
                            @endif
                        </div>
                        <div class="col-6 text-right">                            
                            @if(!empty($next))                            
                            <a href="/registro/{{$next->slug}}" class="btn btn-outline-success btn-sm btn-block" >
                               siguiente{{$next->id}} &#187;
                            </a>
                            <p class="text-right">{{$next->nombre}}</p>
                            @endif
                        </div>
</div>    

Explicando un poco la funcionalidad, tenemos dos botones uno que nos lleva al registro anterior y el otro al registo siguiente.

Concluimos que implementar esta funcionalidad en una aplicación web es bastante sencillo usando blade con el framework de desarrollo web Laravel. Hasta un proximo script de código PHP.

 


¿Quieres descargar el código fuente Mostrar el registro Next y Prev en Laravel?
...por favor suscríbete gratuitamente para descargarlo

DESCARGAR

Compártelo...talvez alguién lo necesite!

Whatsapp Messenger Facebook Twitter
ó copia el link

Visitado 1084 veces | Publicado hace 10 meses

Más códigos de programación en LARAVEL.

Ver scripts de LARAVEL

© Todos los derechos reservados CODEA APLICACIONES | Comunidad de programación web y desarrollo de aplicaciones móviles | 2020