La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

CRUD RELACION (1-N Y N-N) CON LLAVES FORANEAS

Presentaciones similares


Presentación del tema: "CRUD RELACION (1-N Y N-N) CON LLAVES FORANEAS"— Transcripción de la presentación:

1 CRUD RELACION (1-N Y N-N) CON LLAVES FORANEAS

2 Creamos el resto de tablas faltantes

3 RELACIONES DE MODELOS

4 Las tablas de una base de datos a menudo están relacionadas unas con otras (llaves foráneas). Las relaciones entre tablas son de 1 a 1, 1 a N y de N a N Utilizando el ORM Eloquent podemos hacer que este proceso sea mucho más fácil, trabajando con las relaciones directamente dentro de nuestros modelos (usando Programación Orientada a Objetos) y creando métodos personalizados que nos evitarán tener que construir consultas de forma manual.

5 Creamos el modelo respectivo de ficha dentro del directorio app/Models/Ficha. Y agregamos lo siguientes códigos.

6 Relaciones en el modelo ficha.

7 Explicación del modelo ficha
El método belongsTo nos permite trabajar con relaciones N – 1. Este método acepta como primer argumento el nombre de la clase que queremos vincular y el segundo argumento se pasa el nombre de la columna de la llave foránea

8 Explicación del modelo ficha
Una relación de 1 – N es utilizada cuando un modelo puede tener muchos otros modelos relacionados.

9 Explicación del modelo ficha
las relaciones de tipo belongsToMany (muchos a muchos) Se utiliza en las relaciones N - N entre ellas, como primer parámetro le pasamos el modelo con quien se relaciona, el segundo parámetro seria la tabla pivote o intermedia, como tercer parámetro la llave primaria con la que se relaciona el modelo donde se esta creando la relación, en este caso desde el modelo Ficha y el cuarto parámetro seria la llave foránea del modelo con el que se relacionara, en este caso el de Producto. En withPivot aquellos otros atributos que se quieren acceder desde la tabla pivote o intermedia

10 Agregando métodos de las relaciones
Modelo cliente con ficha archivo Cliente.php Modelo producto con ficha archivo Producto.php

11 Agregando métodos de las relaciones
modelo vendedor con ficha archivo Vendedor.php

12 Una vez modificado los respectivos modelos nos dirigimos al directorio resource/Views y crearemos la carpeta ficha y dentro de ella creamos los archivos index.blade.php y créate.blade.php

13 Vista index.blade.php de Ficha

14 Continuacion index.blade.php de Ficha
Observe como a través de la relación de modelos podemos dirigirnos directamente al campo nombre_cliente para identificar el cliente al que le pertenece dicha ficha, de igual forma podemos identificar al vendedor que realizo la venta.

15 Final index.blade.php de Ficha

16 Vista create.blade.php

17 Continuación create.blade.php
:

18 Continuación create.blade.php
: El input codigocliente invocara un modals donde escogeremos un cliente

19 Continuación create.blade.php :
El input codigovendedor invocara un modals donde escogeremos un vendedor En esta sección creamos un input que invocara un modals para escoger los productos que se almacenaran en la tabla detalle, por esta razón se crea inputs de tipo array que contendrán todos los productos que hemos escogidos, juntos con las cantidades y el valor unitario que le asignemos a los campos.

20 Incluiremos los modals que crearemos mas adelante
Continuación create.blade.php : btnAdd le daremos funcionamiento con Jquery para duplicar los campos de productos, cantidad y valores unitarios, para almacenar tantos productos queramos Incluiremos los modals que crearemos mas adelante

21 Continuación create.blade.php:
Creamos unos datatable para las tablas de clientes, vendedores y productos. ¿Qué es un datatable?, información aquí: En esta sección lo que hacemos es identificar la fila al cual le hemos dado click de la tabla (Cliente, Vendedor o Producto) y capturar el valor id o codigo para enviárselo al input correspondiente

22 Continuación create.blade.php:
Aquí nos encargamos de duplicar los campos de productos, cantidades y valores unitarios cada vez que presionamos el botón de +, con um máximo de 10 duplicaciones

23 Final vista create.blade.php
Finalizamos la vista créate, la función escogerProducto realiza las misma función de identificar el producto escogido, solo que esta vez debemos indicar cual de los campos duplicados le vamos a enviar dicho código del producto, por esta razón creamos una función a parte para este proceso.

24 En el archivo layouts. blade
En el archivo layouts.blade.php de la carpeta layouts, nos dirigimos al principio y al final donde anexaremos los css y js para los datatables.

25 Creamos nuestro controlador FichaController
Creamos nuestro controlador FichaController.php y añadimos lo siguiente

26 Continuación FichaController
Continuación FichaController.php : en la primera parte del método store estamos creando el encabezado de la ficha La primera parte del método store es similar a un guardar normal visto anteriormente.

27 Con este ciclo se almacenan todos los datos de la tabla detalle.
Continuación FichaController.php : en la segunda parte del método store estamos creando el detalle de la ficha, y el método destroy de eliminar , una vez terminado nuestro controlador vamos a crear los respectivos modal para las tablas de clientes, productos y vendedores Con este ciclo se almacenan todos los datos de la tabla detalle.

28 Agregamos al menú (menú. blade
Agregamos al menú (menú.blade.php) los link para acceder al listar ficha y crear una nueva ficha creamos las rutas (route/web.php)

29 Creamos los modals: modal_listar_clientes. blade
Creamos los modals: modal_listar_clientes.blade.php, modal_listar_productos.blade.php y modal_listar_vendedores.blade.php

30 Modal de cliente: modal_listar_clientes.blade.php
NOTA: Para los demás modals vendedor y producto después de la etiqueta de cierre de </table> son 4 </div> de cierre los que le siguen. Para evitar fallos en el maquetado de estos.

31 Modal de productos: modal_listar_productos.blade.php

32 Modal de vendedores: modal_listar_vendedores.blade.php

33 Probar listar Observe que trae el nombre del cliente y el nombre del vendedor.

34 Pruebe Registro de fichas

35 Prueba de modals


Descargar ppt "CRUD RELACION (1-N Y N-N) CON LLAVES FORANEAS"

Presentaciones similares


Anuncios Google