Contenido del curso
Fundamentos de Laravel
- 3

Qué es Artisan y cómo automatiza Laravel
04:23 min - 4

Rutas básicas en Laravel con web.php
06:44 min - 5

Cómo retornar vistas Blade en Laravel
07:02 min - 6

Plantillas Blade para vistas sin código repetido
06:03 min - 7

Controladores en Laravel con Artisan
07:17 min - 8

Migraciones en Laravel como control de versiones
07:01 min - 9

Modelos y factories en Laravel con datos falsos
06:56 min - 10

Consultas a base de datos con Eloquent
08:26 min - 11

Relaciones entre tablas con belongsTo en Laravel
05:37 min
Manos a la obra con nuestro proyecto
- 12

Revisión de arquitectura MVC en Laravel
02:15 min - 13

Instala el login de Laravel con Breeze
05:41 min - 14

Rutas de login y logout en Laravel Breeze
04:22 min - 15

Rutas y vistas con Route::resource en Laravel
Viendo ahora - 16

Listado de posts con paginación en Laravel
04:36 min - 17

Formulario para eliminar registros en Laravel
04:53 min - 18

Vistas de creación y edición con formulario compartido
06:49 min - 19

Formulario CRUD reutilizable en Laravel
05:02 min - 20

Guardar registros con relaciones en Laravel
06:06 min - 21

Método update en Laravel sin reescribir código
01:44 min - 22

Validación de formularios en Laravel con old()
04:43 min - 23

Validación unique en Laravel sin duplicados
05:32 min
Trabajemos en el diseño web de nuestro proyecto
- 24

Diseño del header con Tailwind y Laravel
06:38 min - 25

Divisor con gradiente en Tailwind CSS
03:50 min - 26

Construye la vista home de tu blog en Laravel
06:36 min - 27

Sección destacada con posicionamiento absoluto en Tailwind
04:15 min - 28

Diseño de página de publicación con Tailwind
02:33 min - 29

Formulario de búsqueda con Laravel y LIKE
04:18 min - 30

Cómo detectar el problema N+1 en Laravel
06:12 min
Cierre
Rutas y vistas con Route::resource en Laravel
Resumen
Configurar el panel administrativo en Laravel empieza por definir bien las rutas y el controlador que gestionará tu tabla de publicaciones. Aquí aprenderás a usar Route::resource, excluir rutas innecesarias y conectar tu primera vista Blade dentro del dashboard.
Cómo defino las rutas de un recurso en Laravel
La base de un CRUD limpio en Laravel es el método Route::resource, porque genera de forma automática todas las rutas que necesita una tabla administrable.
En el archivo de rutas importas el controlador que vas a usar y declaras el recurso con la palabra en plural que representa tu módulo. Para el caso de publicaciones, queda así:
php use App\Http\Controllers\PostController;
Route::resource('post', PostController::class);
Cuando ejecutas en la terminal el comando php artisan route:list, verás que Laravel genera siete rutas asociadas al recurso post. Cada una cumple una función específica dentro del ciclo administrativo de la tabla [01:08].
¿Qué hace Route::resource en Laravel? Crea de forma automática las siete rutas estándar de un CRUD: listar, crear, guardar, mostrar, editar, actualizar y eliminar, todas ligadas al controlador que le pases.
Qué rutas genera Route::resource y cuáles métodos HTTP usa
No todas las rutas usan el mismo verbo HTTP, y entender esa diferencia es clave para conectar bien el frontend con el backend.
- GET para listar publicaciones, mostrar el formulario de creación, mostrar una publicación o mostrar el formulario de edición.
- POST para guardar una nueva publicación en la base de datos.
- PUT o PATCH para actualizar una publicación existente.
- DELETE para eliminar un registro.
Cada verbo tiene un propósito: consultar, alterar o destruir información. Esa convención es la que mantiene tu API y tu panel administrativo predecibles.
Cómo excluyo rutas que no necesito en un recurso
No siempre vas a usar las siete rutas. En este caso, la ruta show no aporta valor porque la administración no requiere una vista pública individual de cada publicación.
Para excluirla, encadenas el método except al recurso:
php Route::resource('post', PostController::class)->except('show');
Al ejecutar de nuevo php artisan route:list, ahora verás seis rutas en lugar de siete. Esto mantiene tu listado limpio y evita exponer endpoints que no vas a implementar [02:15].
¿Cómo elimino una ruta específica de Route::resource? Usa el método
except(['show'])para excluir rutas concretas, oonly(['index', 'store'])si solo quieres conservar algunas.
Cómo conecto el controlador con una vista Blade
Con las rutas listas, el siguiente paso es definir los métodos del controlador. El primero que necesitas es index, encargado de retornar la vista con el listado de publicaciones.
Dentro de PostController agregas:
php public function index() { return view('post.index'); }
Si entras al navegador y accedes a la ruta /post, Laravel te dirá que la vista no existe. Y aquí viene el siguiente paso: crearla.
Cómo creo la vista index.blade.php dentro del módulo
Dentro de la carpeta resources/views, creas una nueva carpeta llamada post y dentro de ella un archivo index.blade.php.
Para mantener la consistencia visual del panel, reutilizas la plantilla del dashboard. Copias su contenido al nuevo archivo y ajustas dos cosas:
- Cambia la referencia de
dashboardporposten el layout o en la sección correspondiente. - Reemplaza el título por algo descriptivo, como Listado de publicaciones.
Al actualizar el navegador, la vista carga aprovechando toda la plantilla del panel administrativo, lista para que sigas construyendo encima [03:42].
¿Por qué reutilizar la plantilla del dashboard? Porque te ahorra trabajo, mantiene una identidad visual coherente y te permite enfocarte en la lógica de cada módulo sin reescribir el layout.
Con esta base ya tienes rutas, controlador y vista conectados. Desde aquí puedes implementar cada método restante (create, store, edit, update, destroy) para completar las funciones administrativas de la tabla de publicaciones. ¿Qué módulo vas a configurar tú primero? Cuéntalo en los comentarios.