Ayuda con Modelos y Controladores para Realizar CRUD en Laravel [SOLUCIONADO]

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.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad