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íbirseVersió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:
-
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.
- Se importa la clase
-
Definición de Rutas CRUD:
- Se utiliza
Route::resource
para generar automáticamente rutas CRUD para el controladorCategoryController
. - 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.
- Se utiliza
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.
- El controlador está en el namespace
-
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.
- Se importa el modelo
-
Definición del Controlador:
- La clase
CategoryController
extiende la claseController
.
- La clase
-
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 columnasid
yname
. - Los datos se envían a la vista ubicada en
admin.category.index
.
- El método
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:
-
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.
- La vista extiende la plantilla principal
-
Contenedor y Estructura de la Página:
- Se utiliza Bootstrap para crear un contenedor y estructurar el contenido de la página.
-
Enlace de Creación:
- Un enlace "Create" que debería dirigir a la acción de creación en tu controlador.
-
Verificación de Categorías:
- Se verifica si hay categorías para mostrar.
-
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.
-
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.
-
Manejo de Caso Sin Categorías:
- Si no hay categorías, se muestra un mensaje indicando que no se encontraron.
-
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 3667 veces | 0 usuarios
Código fuente no disponible.