Seguir
( 2 Seguidores)
X

Seguir

E-mail : *

Las reglas para el uso de Eloquent comienzan desde la creación de las migraciones.

1. Creación de Migraciones

Las migraciones en laravel se crean con el siguiente comando

El nombre de la tabla ira en medio de create_ y _table, ejemplo:



Creemos la tabla productos, el comando sera

las migraciones siempre se crean con nombre en minúscula y en plural, algunos ejemplos son

Al momento de crear las migraciones debemos estableces las relaciones de claves foraneas, ¿Como hacemos ello?

En el ejemplo anterior creamos la migración productos, un producto tendrá una categoría, pero pueden haber varias categorías, así  se hace necesario otra tabla(migración) con todas las categorías, por lo cual debe haber una relación, en este caso uno-muchos, por ahora nos interesa crear la clave foranea, no la relación como tal. Esto lo debemos hacer de la siguiente manera:


el nombre de la clave foranea se debe componer del nombre de la migracion en singular, seguido de “_id”, quedaría por lo tanto “categoria_id”, esto para que laravel pueda interpretar las relaciones adecuadamente.

 

2. Creación de Modelos



los modelos en laravel se crean con el siguiente comando

Los modelos se deben de crear en singular y con la primera letra en mayúscula

ejemplo de creación de modelo Producto

otros detalles

En la variable $table se debe de colocar el nombre de la tabla

En la variable $fillable se colocan los campos de la tabla

Estableciendo Relaciones

Las relaciones elocuentes se definen como métodos en sus clases modelo. Dado que, al igual que los modelos Eloquent, las relaciones también sirven como potentes constructores de consultas , la definición de relaciones como métodos proporciona poderosas funciones de encadenamiento y consulta de métodos.

Relación Uno a Uno

Este tipo de ralacion en laravel es muy simple, aunque es muy poco usada Eloquent las implementa. podemos ilustrarlo con el ejemplo de las categorías y productos, suponiendo que un producto puede tener 1 categoría y solo existe una categoría, así la relación establecida es uno a uno.

La relación inversa en el modelo Categoría Seria

 

Ojo, los métodos de relación se deben escribir con las mismas características en este caso, el nombre del método debe ser el nombre del modelo relacionado en minúscula y en singular


Dato Muy Importante

Cuando se crean las migraciones, se ordena en el orden en que se crean, en ese orden se ejecutan y graban en la base de datos, por lo tanto si pensamos en establecer una relación entre dos migraciones(tablas), primero se debe de crear la  migración(tabla) con la clave primaria, ejemplo:

la relación entre productos y categorías es la siguiente:

Productos  *——————-1  Categorias (Una Categoria puede estar en muchos productos)

Por lo tanto se debe de crear primero la migración categorías. Pero resulta que Creaste primero la migración productos, y al correr las migraciones te genera un error debido a que no consigue la clave foranea “categoría_id”. ¿Que debes hacer? la opción mas sencilla es modificar el nombre de la migración, en esto me refiero a los números al inicio de la migración, de tal manera que se ordene alfabéticamente, colocando primero la migración con la clave primaria, en este caso categorías

ejemplo:

2017_02_14_165609_create_productos_table.php

2014_10_12_175820_create_categorias_table.php

solucion

2014_10_12_165608_create_categorias_table.php

2017_02_14_165609_create_productos_table.php

 

Otro Dato Muy Importante

La diferencia entre el plural y el singular deberá se solamente una s, algunos ejemplos son:

usuarios——->Usuario

ciudades——->Ciudade

ahora en ingles como seria

users————–>User

citys—————>City (Aunque Citys no tenga traducción en español, es la forma que interpreta Eloquent)

Relación Uno a Muchos

Una relación “uno a muchos” se usa para definir las relaciones en las que un único modelo posee cualquier cantidad de otros modelos. Siguiendo con el ejemplo, Un producto puede ser de varias categorías, por lo tanto la relación existente sera uno a muchos, lo debemos realizar de la siguiente manera.


la relación inversa en el modelo Categoría seria:

Ojo, los métodos de relación se deben escribir con las mismas características en este caso, el nombre del método debe ser el nombre del modelo relacionado en minúscula y en singular

En ambos tipos de relación, uno a uno y uno a muchos los métodos de relación se escriben usando las mismas reglas, en el caso de la relación muchos a muchos esto cambia, incluso debemos crear una nueva tabla, esto lo veremos completamente en un entrada posterior, ya que es un tema complejo que requiere un análisis profundo para su mayor comprensión

Suscribete para que te llegue el contenido!

Estoy trabajando a diario, asi que el contenido te llegara pronto.

Te has suscrito correctamente!