MenuModel.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace Models;
  3. class MenuModel
  4. {
  5. private \PDO $pdo;
  6. public function __construct()
  7. {
  8. $dbFile = $_ENV['DB_FILE'];
  9. $dbPath = __DIR__ . '/../' . $dbFile;
  10. $this->pdo = new \PDO("sqlite:" . $dbPath);
  11. $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
  12. }
  13. public function getMenu(int $companyId): array
  14. {
  15. $sql = "
  16. SELECT
  17. c.category_name,
  18. p.product_name,
  19. p.product_price,
  20. d.description_text
  21. FROM product p
  22. JOIN category c ON c.category_id = p.category_id
  23. LEFT JOIN description d ON d.product_id = p.product_id AND d.company_id = p.company_id
  24. WHERE p.company_id = :company_id
  25. AND p.product_flag != 'd'
  26. AND c.category_flag != 'd'
  27. ORDER BY c.category_name, p.product_name
  28. ";
  29. $stmt = $this->pdo->prepare($sql);
  30. $stmt->execute(['company_id' => $companyId]);
  31. return $stmt->fetchAll(\PDO::FETCH_ASSOC);
  32. }
  33. }