Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace Shop\DB;
  3. use Shop\Model\Orders as OrdersModel;
  4. class Orders
  5. {
  6. protected $container;
  7. protected $orderArr = [];
  8. protected $clientArr = [];
  9. protected $totalArr;
  10. public function __construct($container)
  11. {
  12. $this->container = $container;
  13. }
  14. public function getOrders() {
  15. $db = $this->container->get('db');
  16. $sql = "SELECT o.* FROM orders o LEFT JOIN clients c on o.customer_id = c.id;";
  17. $stmt = $db->prepare($sql);
  18. $res = $stmt->execute();
  19. while($result = $res->fetchArray(SQLITE3_ASSOC)) {
  20. $order = new OrdersModel($this->container);
  21. $order->setId($result['name']);
  22. $order->setReference($result['reference']);
  23. $order->setSubtotal($result['subtotal']);
  24. $order->setVat($result['vat']);
  25. $order->setTotal($result['total']);
  26. $this->orderArr[] = $order;
  27. }
  28. return $this->orderArr;
  29. }
  30. public function getOrdersArgs($id) {
  31. $db = $this->container->get('db');
  32. $stmt2 = $db->prepare("SELECT * FROM clients WHERE id = :id;");
  33. $stmt2->bindValue(':id', $id, SQLITE3_INTEGER);
  34. $res2 = $stmt2->execute();
  35. while($result = $res2->fetchArray(SQLITE3_ASSOC)) {
  36. $order = new OrdersModel($this->container);
  37. $order->setFirstname($result['firstname']);
  38. $order->setLastname($result['lastname']);
  39. $this->clientArr[] = $order;
  40. }
  41. $sql = "SELECT o.* FROM orders o LEFT JOIN clients c on o.customer_id = c.id;";
  42. $stmt = $db->prepare($sql);
  43. $res = $stmt->execute();
  44. while($result = $res->fetchArray(SQLITE3_ASSOC)) {
  45. $order->setId($result['name']);
  46. $order->setReference($result['reference']);
  47. $order->setSubtotal($result['subtotal']);
  48. $order->setVat($result['vat']);
  49. $order->setTotal($result['total']);
  50. $this->orderArr[] = $order;
  51. }
  52. $this->totalArr = array_merge($this->clientArr, $this->orderArr);
  53. return $this->totalArr;
  54. }
  55. }