Inicio » Blog » Laravel

23 noviembre, 2020

¿Cómo listar registros en Laravel 10 usando Blade?

Ejemplo práctico de cómo listar registros que cumplan condiciones o no, ejemplos con blade en un Crud con Laravel

Suscríbete a nuestro canal en Youtube

Suscríbirse

Versión actualizada a Laravel 10. En este post, nos sumergiremos en el fascinante universo de Laravel, enfocándonos específicamente en la creación de un CRUD Listar con un emocionante caso práctico. Este concepto es crucial para cualquier desarrollador web, ya que proporciona la capacidad de visualizar y manipular datos de una manera eficiente.

¿Por qué es esencial un CRUD Listar en Laravel?

Un CRUD Listar es la columna vertebral de muchas aplicaciones web, permitiéndonos listar y visualizar registros de una base de datos de manera organizada. En este caso práctico, demostraremos cómo implementar este concepto utilizando Laravel, un framework PHP potente y elegante.

¿Cómo programar un list de registros en Laravel 10 la forma correcta?

Implementar un CRUD Listar en Laravel de manera correcta implica seguir las mejores prácticas del framework.

La ruta para Listar registros en laravel es:

 

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Admin\CategoryController;
..
// rutas crud : list, store, update,delete: create, edit, show
Route::resource('admin/category', CategoryController::class);

Este código en Laravel establece rutas para realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en el controlador CategoryController, específicamente en el área de administración (Admin). Aquí está el resumen a alto nivel:

  1. Imports:

    • Se importa la clase Route de Laravel.
    • Se importa el controlador CategoryController que probablemente maneje las acciones relacionadas con las categorías en el área de administración.
  2. Definición de Rutas CRUD:

    • Se utiliza Route::resource para generar automáticamente rutas CRUD para el controlador CategoryController.
    • Las rutas están basadas en la URL 'admin/category', indicando que se espera gestionar categorías en el área de administración.
    • Las rutas generadas incluirán acciones para Listar, Crear, Mostrar, Editar, Almacenar, Actualizar y Eliminar categorías.

En resumen, este código simplifica la definición de rutas CRUD para la gestión de categorías en el área de administración mediante la utilización de la funcionalidad de recursos de Laravel.

 

El controlador para extraer los registros de la tabla es:

namespace App\Http\Controllers\Admin;
use App\Models\Category;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class CategoryController extends Controller
{
    public function index(){
        //retornar una lista de registros de la table category
        $categories = Category::all(["id","name"]);
        return view('admin.category.index',compact("categories"));        
    }}

Este código define un controlador en Laravel para la gestión de categorías dentro del área de administración (Admin). Aquí hay un resumen a alto nivel:

  • Namespace:

    • El controlador está en el namespace App\Http\Controllers\Admin, lo que indica que pertenece al área de administración de la aplicación.
  • Imports:

    • Se importa el modelo Category para interactuar con la tabla de categorías.
    • Se importa la clase Request para manejar las solicitudes HTTP.
    • Se extiende la clase base Controller de Laravel.
  • Definición del Controlador:

    • La clase CategoryController extiende la clase Controller.
  • Método Index:

    • El método index devuelve una vista que muestra una lista de categorías.
    • Utiliza el modelo Category para obtener todos los registros de la tabla, seleccionando solo las columnas id y name.
    • Los datos se envían a la vista ubicada en admin.category.index.

Este controlador es responsable de mostrar la lista de categorías en el área de administración de la aplicación. Aunque es solo una parte de la funcionalidad completa, proporciona una estructura básica para la gestión de categorías.

 

Finalmente la vista blade es:

@extends('layouts.app')
@section('content')
<div class="container">
   <h1 class="text-center">LISTA | CATEGORY</h1>
   <div class="row justify-content-center">
    <div class="col-sm-6">
        <a href="">Create</a>
        @if ($categories->count())
        <div class="card">
            <div class="card-body">
                <h2>{{$categories->count()}} Categories</h2>
            </div>
            <div class="card-body">
                <table class="table table-stripe">
                    <thead>
                        <tr>
                            <th>ID</th>
                            <th>NAME</th>
                            <th>ACCIÓN</th>
                        </tr>
                    </thead>
                    <tbody>
                        @foreach ($categories as $category)
                        <tr>
                            <td>{{$category->id}}</td>
                            <td>{{$category->name}}</td>
                            <td>
                                <a href="">Edit</a>
                                <a href="">Del</a>
                            </td>
                        </tr>
                        @endforeach
                    </tbody>
                </table>
            </div>
        </div>
        @else
        <p class="text-center">Not found</p>
        @endif  
    </div>
   </div>  
</div>
@endsection

este código Blade crea una página que muestra una lista de categorías en un formato de tabla. Aquí está un resumen a alto nivel:

  1. Encabezado y Extensión de Plantilla:

    • La vista extiende la plantilla principal layouts.app.
    • Se define un encabezado principal que indica que estamos visualizando una lista de categorías.
  2. Contenedor y Estructura de la Página:

    • Se utiliza Bootstrap para crear un contenedor y estructurar el contenido de la página.
  3. Enlace de Creación:

    • Un enlace "Create" que debería dirigir a la acción de creación en tu controlador.
  4. Verificación de Categorías:

    • Se verifica si hay categorías para mostrar.
  5. Presentación de Datos:

    • Se utiliza una tarjeta de Bootstrap para presentar la información.
    • Se muestra el número de categorías disponibles.
    • Se crea una tabla con encabezados para ID, NAME y una columna para acciones.
  6. Iteración sobre Categorías:

    • Se itera sobre cada categoría en un bucle, mostrando sus detalles en filas de la tabla.
    • Se proporcionan enlaces de "Edit" y "Del" para cada categoría.
  7. Manejo de Caso Sin Categorías:

    • Si no hay categorías, se muestra un mensaje indicando que no se encontraron.
  8. Cierre de Etiquetas:

    • Se cierran las etiquetas HTML y Blade.

Este código proporciona una interfaz simple para listar categorías, pero es esencial conectar los enlaces de "Create", "Edit", y "Del" a las rutas y acciones correctas en tu controlador para que la aplicación funcione correctamente.


Leido 2794 veces

Compartir link del tutorial con tus amigos


Laravel 9 Página Web para Negocio Laravel 9 Página Web para Negocio

Curso Laravel 9 Avanzado Desarrollo Web Administrable para negocio

Descarga del código fuente

USD 10.00

Aprende más sobre Laravel

Cursos de programación

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023