Operaciones CRUD en Laravel usando Modelos y Controladores
Laravel es un marco de trabajo integral que sigue el patrón de diseño MVC (modelo, vista, controlador). Esta estructura es una de las grandes fortalezas de Laravel. En este artículo, nos centraremos en cómo Laravel utiliza modelos y controladores para gestionar las operaciones CRUD (crear, leer, actualizar, eliminar).
Definición de Modelo en Laravel
En términos simples, los modelos en Laravel son representaciones de las tablas de la base de datos. Son una forma conveniente y eficiente de interactuar con la base de datos. Todo, desde la recuperación de datos hasta la actualización y el borrado, puede ser manejado usando los modelos en Laravel.
<?php namespace App; use IlluminateDatabaseEloquentModel; class User extends Model { // Modelo User }
Funcionamiento del Modelo en Laravel
Por defecto, Laravel asume que cada modelo tiene una tabla correspondiente en la base de datos. Cuando realizamos una operación CRUD usando el modelo, Laravel automáticamente realiza la consulta SQL correspondiente en esta tabla.
Controladores en Laravel
En Laravel, los controladores son la conexión entre los modelos y las vistas. Su tarea principal es controlar el flujo de datos entre el modelo y la vista. Se utiliza para manejar la lógica que se necesita para mostrar las vistas al usuario y también para manejar las peticiones que vienen de las vistas.
Creación de un Controlador en Laravel
Los controladores en Laravel se crean utilizando el comando Artisan. Artisan viene con Laravel y proporciona muchos comandos útiles para facilitar el desarrollo en Laravel.
php artisan make:controller UserController
Funcionamiento del Controlador en Laravel
Una vez creados, los controladores pueden ser utilizados para manejar las solicitudes HTTP. Cada función pública dentro de un controlador se puede acceder a través de una ruta específica.
CRUD en Laravel usando Modelos y Controladores
Las operaciones CRUD son parte integral de cualquier aplicación. Laravel hace que estas operaciones sean extremadamente fáciles de implementar.
Crear – POST
Para agregar un nuevo registro a la base de datos, necesitamos usar el método save del modelo.
<?php namespace AppHttpControllers; use AppUser; use IlluminateHttpRequest; class UserController extends Controller { public function store(Request $request) { $user = new User; $user->name = $request->name; $user->email = $request->email; $user->save(); } }
Leer – GET
Para recuperar los datos de la base de datos, utilizamos varios métodos de Eloquent, como find, get, all, etc.
<?php namespace AppHttpControllers; use AppUser; class UserController extends Controller { public function index() { $users = User::all(); return view('users.index', ['users' => $users]); } }
Actualizar – PUT
Para actualizar un registro, utilizamos el método de actualización de Eloquent. El método save también se puede usar en su lugar.
<?php namespace AppHttpControllers; use AppUser; use IlluminateHttpRequest; class UserController extends Controller { public function update(Request $request, $id) { $user = User::find($id); $user->name = $request->name; $user->email = $request->email; $user->save(); } }
Eliminar – DELETE
Para eliminar un registro, usamos el método delete de Eloquent.
<?php namespace AppHttpControllers; use AppUser; class UserController extends Controller { public function destroy($id) { $user = User::find($id); $user->delete(); } }
Comprendiendo y trabajando con los modelos y controladores en Laravel, podrás realizar operaciones CRUD con facilidad y eficiencia. Ya estés construyendo una pequeña aplicación web o un sistema a gran escala, los principios de CRUD son esenciales y Laravel proporciona todas las herramientas necesarias para lograrlo.