📄 Paginación de resultados
Organiza y muestra tus datos fácilmente
      Cuando trabajamos con grandes volúmenes de datos, es fundamental mostrar los resultados de manera paginada.  
      Laravel facilita esta tarea con métodos integrados como 
      paginate() y simplePaginate(), que generan automáticamente los enlaces y metadatos necesarios.
    
📘 Ejemplo básico de paginación
Puedes aplicar la paginación directamente en tus controladores al obtener datos del modelo:
app/Http/Controllers/ProductController.php
        
      public function index()
{
    $products = Product::paginate(10); // 10 resultados por página
    return view('products.index', compact('products'));
}
    En tu vista puedes mostrar los enlaces de paginación fácilmente con:
resources/views/products/index.blade.php
        
      <table class="table table-striped">
  <thead>
    <tr><th>ID</th><th>Nombre</th><th>Precio</th></tr>
  </thead>
  <tbody>
    @foreach ($products as $product)
      <tr>
        <td>{{ $product->id }}</td>
        <td>{{ $product->name }}</td>
        <td>{{ $product->price }}€</td>
      </tr>
    @endforeach
  </tbody>
</table>
{{ $products->links() }}
    🌐 Paginación en APIs
      Laravel también puede paginar resultados en formato JSON.  
      Si estás construyendo una API, simplemente usa el método paginate() dentro de tu controlador API.
    
app/Http/Controllers/Api/ProductController.php
        
      public function index()
{
    $products = Product::paginate(5);
    return response()->json($products);
}
    Esto generará automáticamente un JSON con la estructura:
{
  "current_page": 1,
  "data": [
    { "id": 1, "name": "Televisor", "price": 250 },
    { "id": 2, "name": "Lavadora", "price": 400 }
  ],
  "first_page_url": "http://api.tusitio.com/products?page=1",
  "last_page": 3,
  "per_page": 5,
  "total": 15
}
  🎨 Personalizar el estilo de la paginación
      Si usas Bootstrap, Laravel puede adaptar automáticamente los estilos.  
      Solo agrega la siguiente línea en tu AppServiceProvider:
    
app/Providers/AppServiceProvider.php
        
      use Illuminate\Pagination\Paginator;
public function boot(): void
{
    Paginator::useBootstrap();
}
    Esto hará que los enlaces de paginación se vean con el estilo de Bootstrap, integrándose perfectamente en tu frontend.
✅ Buenas prácticas
- Define un número razonable de elementos por página (entre 10 y 25).
 - Evita paginar consultas con joins pesados sin índices adecuados.
 - Usa 
simplePaginate()cuando no necesites la cuenta total de registros (mejora el rendimiento). - Para APIs, incluye siempre los metadatos de paginación en la respuesta JSON.
 
  
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias