Utilizamos cookies para proporcionar y mejorar nuestros servicios. Al navegar por nuestro sitio, usted acepta las cookies. Política de Cookies
Estamos haciendo algo, un momento...
Estamos haciendo algo, un momento...

Laravel: ¿Qué es un modelo y como crearlo?

Miércoles 28 de Septiembre 2022

En la arquitectura de software MVC (Modelo-Vista-Controlador), un modelo es una representación de datos, es el encargado de manejar la lógica del negocio, es quien mantiene la persistencia de los mismos en ese mismo orden de ideas.

Quizás sonó algo engorroso y difícil de entender, pero en palabras mas simples un modelo es el encargado de gestionar o solicitar información a la base de datos y enviarla o facilitarla al controlador para la admiración de esta misma data extraída desde la base de datos.

¿Lo quieres en palabras mas simple?, ok…. El modelo es quien le dice a al controlador toma todos estos datos que solicitaste a la base de datos, has lo que quieras con ellos…. Espero ahora si me hayas comprendido.

Si la explicación anterior te sonó algo burda, las personas que siguen mi canal de Youtube sabrán como ex mi manera de explicar, pero no divaguemos y continuemos.

¿Laravel usa modelos?

¡Pero claro que YES! Laravel es un Framework que se trabaja con la arquitectura de software MVC (Ya se que muchos dicen que no, pero ese es un tema para otro momento no me distraigan), entonces la respuesta es si, Laravel hace uso de Modelos.

Eloquent es el nombre del componente que se encarga de administrar los modelos, Laravel define a eloquent como un Object-relational mapper o ORM que traducido seria algo como mapeador de objetos relacionales, y es que un modelo al encargarse de la “lógica del negocio” es el encargado de decirle a los modelos como hacer o mapear las relaciones entre la data en la base de datos.

Llegados a este punto y antes de continuar, debemos despejar una duda.

¿Qué son las relaciones de datos?

Voy a tratar de explicarlo con mis propias palabras, las relaciones en las bases de datos son una asociación / unión que se crea entre tablas, con la única finalidad de garantizar que todos los datos tengan una integridad y lógica entre ellos.

Voy de nuevo… una relación entre tablas podríamos definirla en algo como: users seria una tabla principal, ordenes seria una tabla que tendría una relación directa con users ya que esta segunda tabla esta conectada directamente y es que guarda en ella todas aquellas ordenes que un usuario a creado en nuestro sistema, además podría haber muchas tablas mas conectadas en multi nivel a user a través de la tabla ordenes, como por ejemplo una tabla hija donde se guarde cada item de la orden, me he cansado de escribir todo este párrafo, te dejare una imagen que te ayude a despejar lo que hasta ahora te he escrito sobre MVC.

Laravel: ¿Qué es un modelo y como crearlo?

Espero que hasta ahora hayas comprendido la importancia y la finalidad de un modelo en esta arquitectura de trabajo.

¿Cómo crear un modelo en Laravel?

En la practica un modelo en laravel es un archivo .php el cual incluye una clase que extiende del modelo padre Illuminate\Database\Eloquent\Model y se define como cualquier clase en PHP, este archivo debe de crearse dentro de la carpera app\Models de tu proyecto de laravel y por buena práctica el nombre del modelo debe de escribir con la primera letra en mayúsculas.

Laravel: ¿Qué es un modelo y como crearlo?

Como lo mencione anteriormente el modelo que intentas crear debe de extender del modelo padre, lo puedes ver en la declaración de la clase, hay que aclarar que el namespace App\Models; es requerido si o si.

La segunda manera de crear un modelo es a través de la consola o terminal de tu sistema operativo y escribir el comando php artisan make:model Nombredelmodelo esto generar un archivo con el nombre que asignamos en el comando en la ubicación app\Models\Nombredelmodelo.php así de fácil, artisan (Es un tema para otra publicación) se encarga de crear el archivo con el código básico del modelo.

Ya con esto puedes crear tus modelos en en tu proyecto de laravel, pero por si solo estos pasos no hacen nada, y como vimos un modelo es el encargado de charlar con la base de datos por lo que debemos conectar nuestro modelo con una tabla en la base de datos para poder manipular la información guardada en la misma, eso lo hacemos definiendo una variable llamada table de la siguiente manera: protected $table = 'blocks'; te comparto una imagen de cómo debería de verse tu modelo.

Laravel: ¿Qué es un modelo y como crearlo?

Ahora sí, ya sabes cómo crear y conectar modelos, en próximos artículos extenderemos el conocimiento de los modelos, ya que hay un sinfín de cosas más que aprender.

Resuelve primero el problema, luego escribe el código.

¡Comentarios de la comunidad!

Para poder comentar necesita ingresar a su cuenta, si no tienes una cuenta puede crear una