From 400ae03adc0b171480e8b80660d5b9c6e7d127e3 Mon Sep 17 00:00:00 2001 From: Joshua Perry <45966243+jpez-development@users.noreply.github.com> Date: Wed, 25 Jan 2023 15:58:06 +0000 Subject: [PATCH] find can now take 2 constraints --- CSY2028/DatabaseTable.php | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/CSY2028/DatabaseTable.php b/CSY2028/DatabaseTable.php index 49ac150..44be488 100644 --- a/CSY2028/DatabaseTable.php +++ b/CSY2028/DatabaseTable.php @@ -37,14 +37,26 @@ class DatabaseTable { $this->startDB()->prepare('UPDATE '. $this->table .' SET '. \implode(', ', $params) .' WHERE '. $this->pk .' = :primaryKey')->execute($record); } - public function find($column, $value) { - $values = [ - 'value' => $value - ]; - $stmt = $this->startDB()->prepare('SELECT * FROM '. $this->table . ' WHERE '. $column . ' = :value'); - $stmt->setFetchMode(\PDO::FETCH_CLASS, $this->entityClass, $this->entityConstructor); - $stmt->execute($values); - return $stmt->fetchAll(); + public function find($column, $value, $column2 = "", $value2 = "") { + if ($column2 == "" && $value2 == "") { + $values = [ + 'value' => $value + ]; + $stmt = $this->startDB()->prepare('SELECT * FROM '. $this->table . ' WHERE '. $column . ' = :value'); + $stmt->setFetchMode(\PDO::FETCH_CLASS, $this->entityClass, $this->entityConstructor); + $stmt->execute($values); + return $stmt->fetchAll(); + } + else { + $values = [ + 'value' => $value, + 'value2' => $value2 + ]; + $stmt = $this->startDB()->prepare('SELECT * FROM '. $this->table . ' WHERE '. $column . ' = :value AND'. $column2 .' = :value2'); + $stmt->setFetchMode(\PDO::FETCH_CLASS, $this->entityClass, $this->entityConstructor); + $stmt->execute($values); + return $stmt->fetchAll(); + } } public function findAll() {