MenuModel.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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 c.category_name,
  17. p.product_name,
  18. p.product_price,
  19. d.description_text
  20. FROM product p
  21. NATURAL JOIN category c
  22. LEFT NATURAL JOIN description d
  23. WHERE p.company_id = :company_id
  24. AND p.product_flag != 'd'
  25. AND c.category_flag != 'd'
  26. ORDER BY c.category_name, p.product_name;
  27. ";
  28. $stmt = $this->pdo->prepare($sql);
  29. $stmt->execute(['company_id' => $companyId]);
  30. return $stmt->fetchAll(\PDO::FETCH_ASSOC);
  31. }
  32. }