7 abril, 2025
Cómo Crear un CRUD en Laravel 12: Guía Completa para Principiantes
Para programar un CRUD debemos crear un controlador con los métodos necesarios para gestionar los datos de una Tabla implementado las vistas y rutas.

Suscríbete a nuestro canal en Youtube
SuscríbirseVamos a hacer un CRUD en Laravel 12, y lo haremos creando una lista para gestionar nuestras mascotas favoritas. Si eres nuevo en Laravel y te sientes un poco perdido, no te preocupes: te lo explicaré todo paso a paso, como si estuviéramos cuidando un perrito juntos. ¿Listo para empezar esta aventura peluda?
¿Qué es un CRUD y por qué Laravel 12?
Un CRUD es como un cuaderno mágico para organizar datos: Crear (añadir algo), Leer (verlo), Actualizar (cambiarlo) y Eliminar (borrarlo). Vamos a usarlo para llevar un registro de nuestras mascotas: sus nombres, tipos (perro, gato, etc.) y más. Laravel 12 es la última versión de este framework PHP, y es súper fácil de usar gracias a sus herramientas mágicas.
Paso 1: Prepara tu casita para mascotas (instalación)
Primero, asegúrate de tener:
- PHP 8.2 o superior: Es como la comida básica para Laravel.
- Composer: Una herramienta para instalar cosas (composer --version para verificar).
- Laravel 12: Crea un proyecto nuevo con:
bash
composer create-project laravel/laravel mis-mascotas
cd mis-mascotas
Configura tu base de datos en .env. Para algo simple, usa SQLite:
- Crea un archivo database.sqlite en la carpeta database.
- Edita .env:
text
DB_CONNECTION=sqlite DB_DATABASE=/ruta/absoluta/a/tu/proyecto/database/database.sqlite
Paso 2: Crea el modelo de las mascotas
Vamos a hacer un modelo Pet para nuestras mascotas:
bash
php artisan make:model Pet -m
Esto genera:
- Un modelo en app/Models/Pet.php.
- Una migración en database/migrations.
Abre la migración y define los datos de las mascotas:
php
public function up() {
Schema::create('pets', function (Blueprint $table) {
$table->id(); // ID único
$table->string('name'); // Nombre de la mascota
$table->string('type'); // Tipo: perro, gato, etc.
$table->timestamps(); // Fechas de creación y actualización
});
}
Ejecuta la migración:
bash
php artisan migrate
¡Listo! Ahora tienes una tabla pets en tu base de datos.
Paso 3: Configura el modelo
En app/Models/Pet.php, indica qué campos puede llenar:
php
class Pet extends Model {
protected $fillable = ['name', 'type'];
}
Paso 4: Crea el controlador
Genera un controlador con recursos:
bash
php artisan make:controller PetController --resource
Esto crea PetController.php con funciones para el CRUD: index, create, store, show, edit, update y destroy.
Paso 5: Define las rutas
En routes/web.php, añade:
php
Route::resource('pets', PetController::class);
Esto conecta URLs como /pets o /pets/{id} a las funciones del controlador.
Paso 6: Construye el CRUD en el controlador
Abre app/Http/Controllers/PetController.php y programa cada parte del CRUD:
Leer (Read) - Ver todas las mascotas
php
public function index() {
$pets = Pet::all(); // Obtiene todas las mascotas
return view('pets.index', compact('pets')); // Muestra la vista
}
Esto lista todas las mascotas en una página.
Crear (Create) - Añadir una mascota
- Mostrar formulario:
php
public function create() {
return view('pets.create'); // Vista con formulario
}
- Guardar la mascota:
php
public function store(Request $request) {
Pet::create($request->all()); // Crea la mascota con los datos del formulario
return redirect()->route('pets.index')->with('success', '¡Mascota añadida!');
}
Actualizar (Update) - Editar una mascota
- Mostrar formulario de edición:
php
public function edit($id) {
$pet = Pet::findOrFail($id); // Busca la mascota por ID
return view('pets.edit', compact('pet')); // Muestra el formulario con datos
}
- Guardar cambios:
php
public function update(Request $request, $id) {
$pet = Pet::findOrFail($id); // Encuentra la mascota
$pet->update($request->all()); // Actualiza los datos
return redirect()->route('pets.index')->with('success', '¡Mascota actualizada!');
}
Eliminar (Delete) - Borrar una mascota
php
public function destroy($id) {
$pet = Pet::findOrFail($id); // Encuentra la mascota
$pet->delete(); // La elimina
return redirect()->route('pets.index')->with('success', '¡Mascota eliminada!');
}
Paso 7: Crea las vistas
Crea una carpeta resources/views/pets y añade estos archivos:
index.blade.php (Leer - Lista de mascotas)
php
<!DOCTYPE html>
<html>
<head>
<title>Mis Mascotas</title>
</head>
<body>
<h1>Lista de Mascotas</h1>
@if(session('success'))
<p style="color: green;">{{ session('success') }}</p>
@endif
<a href="{{ route('pets.create') }}">Añadir Mascota</a>
<ul>
@foreach($pets as $pet)
<li>
{{ $pet->name }} ({{ $pet->type }})
<a href="{{ route('pets.edit', $pet->id) }}">Editar</a>
<form action="{{ route('pets.destroy', $pet->id) }}" method="POST" style="display:inline;">
@csrf
@method('DELETE')
<button type="submit">Eliminar</button>
</form>
</li>
@endforeach
</ul>
</body>
</html>
create.blade.php (Crear - Formulario nuevo)
php
<!DOCTYPE html>
<html>
<head>
<title>Añadir Mascota</title>
</head>
<body>
<h1>Añadir Nueva Mascota</h1>
<form action="{{ route('pets.store') }}" method="POST">
@csrf
<input type="text" name="name" placeholder="Nombre" required>
<input type="text" name="type" placeholder="Tipo (perro, gato...)" required>
<button type="submit">Guardar</button>
</form>
<a href="{{ route('pets.index') }}">Volver</a>
</body>
</html>
edit.blade.php (Actualizar - Formulario de edición)
php
<!DOCTYPE html>
<html>
<head>
<title>Editar Mascota</title>
</head>
<body>
<h1>Editar {{ $pet->name }}</h1>
<form action="{{ route('pets.update', $pet->id) }}" method="POST">
@csrf
@method('PUT')
<input type="text" name="name" value="{{ $pet->name }}" required>
<input type="text" name="type" value="{{ $pet->type }}" required>
<button type="submit">Actualizar</button>
</form>
<a href="{{ route('pets.index') }}">Volver</a>
</body>
</html>
Paso 8: ¡Prueba tu refugio virtual!
Inicia el servidor:
bash
php artisan serve
Ve a http://localhost:8000/pets. Podrás:
- Ver la lista de mascotas (Leer).
- Añadir una mascota nueva como "Luna - Gato" (Crear).
- Editarla para cambiar su tipo a "Perro" (Actualizar).
- Eliminarla si ya no está contigo (Eliminar).
Leido 3984 veces | 2 usuarios
Descarga del código fuente Laravel de Cómo Crear un CRUD en Laravel 12: Guía Completa para Principiantes
Accede al código fuente esencial de nuestra aplicación en formato ZIP ó TXT. Ideal para desarrolladores que desean personalizar o integrar nuestra solución.
Opciones de descarga
- Usuarios Registrados: Inicia sesión para descarga inmediata.
- Nuevos Usuarios: Regístrate y descarga.
Cuestionario de Implementación de un CRUD en Laravel
Amplia tus conocimientos sobre la implementación de un CRUD en Laravel 12