5. srv / bd / detalleDeVentaConsulta.php

1<?php
2
3require_once __DIR__ . "/../../lib/php/recibeFetchAll.php";
4require_once __DIR__ . "/../modelo/Venta.php";
5require_once __DIR__ . "/../modelo/DetalleDeVenta.php";
6require_once __DIR__ . "/../modelo/Producto.php";
7require_once __DIR__ . "/Bd.php";
8
9function detalleDeVentaConsulta(Venta $venta)
10{
11 $con = Bd::getConexion();
12 $stmt = $con->query(
13 "SELECT
14 DV.PROD_ID AS prodId,
15 P.PROD_NOMBRE AS prodNombre,
16 P.PROD_EXISTENCIAS AS prodExistencias,
17 P.PROD_PRECIO AS prodPrecio,
18 DV.DTV_CANTIDAD AS cantidad,
19 DV.DTV_PRECIO AS precio
20 FROM DET_VENTA DV, PRODUCTO P
21 WHERE
22 DV.PROD_ID = P.PROD_ID
23 AND DV.VENT_ID = :ventId
24 ORDER BY P.PROD_NOMBRE"
25 );
26 $stmt->execute([":ventId" => $venta->id]);
27 $resultado = $stmt->fetchAll(PDO::FETCH_OBJ);
28 $objs = recibeFetchAll($resultado);
29 /** @var DetalleDeVenta[] */
30 $detalles = [];
31 foreach ($objs as $obj) {
32 $producto = new Producto(
33 id: $obj->prodId,
34 nombre: $obj->prodNombre,
35 existencias: $obj->prodExistencias,
36 precio: $obj->prodPrecio
37 );
38 $detalle = new DetalleDeVenta(
39 venta: $venta,
40 producto: $producto,
41 cantidad: $obj->cantidad,
42 precio: $obj->precio
43 );
44 $detalles[] = $detalle;
45 }
46 return $detalles;
47}
48
skip_previous skip_next