Generar el modelo para la tabla de proyectos5/17

Lectura

Necesitamos un Modelo para cada tabla 📌

Como te conté en clases anteriores, Eloquent nos ofrece una forma de acceder a la base de datos de una manera más simple y elegante, esa forma es llamada Modelo y debe haber uno que corresponda a cada tabla de la base de datos para poder acceder a ella.

Simplemente es un archivo que extiende de Illuminate\Database\Eloquent\Model y normalmente puede estar ubicada dentro de la carpeta app, pero puedes estructurar tu proyecto de tal forma que crees una carpeta para almacenar los modelos, esto es recomendable cuando tienes una base de datos con muchas tablas y se te puede convertir en algo insostenible tener todos esos archivos ahí sin ningún orden.

Cómo crear un Modelo desde la terminal ⌨️

Para crear el modelo de la tabla projects debemos continuar en la consola (dentro de la carpeta del proyecto) y escribir php artisan make:model Project.

Si te fijas, no escribimos el nombre de la tabla projects literalmente porque los modelos hacen referencia a un elemento que contendrá esa tabla. Por ejemplo, si tenemos una tabla de proyectos, es porque almacenaremos ahí varias unidades de proyecto, por ende, la convención debe ser con mayúscula inicial y en singular.

De esta forma, cada vez que llamemos al modelo de Project estaremos haciendo referencia a un objeto Proyecto y será sobre el cual vamos a operar. Internamente le indicaremos que hace referencia a la tabla projects.

Veamos nuestro modelo 👀

Ya debes tener en tu directorio app el nuevo archivo correspondiente al modelo que acabamos de crear, Project. Debe lucir de esta manera:

Modelos en Eloquent ORM Laravel

Lo primero que vamos a agregar a nuestro modelo es la referencia a la tabla que pertenece, para esto agregaremos una variable protegida con el nombre de la tabla (tal como se llama en la base de datos) y otra indicando la llave primaria de esta tabla.

protected $table = 'projects';
protected $primaryKey = 'project_id';

De esta forma, nuestro modelo quedaría así:

Modelos en Eloquent ORM Laravel

Reto 🏁

Ya tenemos nuestro modelo creado para la tabla projects, te reto a crear el modelo para las demás tablas que hemos creado en nuestra base de datos y agregar las variables protegidas indicando la tabla y la llave primaria de cada una.


En la siguiente clase conoceremos la diferencia entre un Modelo y una Migración, pues en algún momento te encontrarás con este concepto y es importante que tengas claro para qué es cada uno.

Aportes 20

Preguntas 0

Ordenar por: