From bb8eb0300a8f640549f0e059c994a46d5d58bf91 Mon Sep 17 00:00:00 2001 From: abelhooge Date: Sun, 12 Jul 2020 11:58:07 +0200 Subject: [PATCH] Implemented changes requested by Wettennet --- src/FuzeWorks/Model/MongoTableModel.php | 8 +++----- src/FuzeWorks/Model/PDOTableModel.php | 6 ++++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/FuzeWorks/Model/MongoTableModel.php b/src/FuzeWorks/Model/MongoTableModel.php index 10b6f62..7469a3b 100644 --- a/src/FuzeWorks/Model/MongoTableModel.php +++ b/src/FuzeWorks/Model/MongoTableModel.php @@ -181,12 +181,10 @@ class MongoTableModel implements iDatabaseTableModel // Execute the request $results = $collection->find($filter, $options); - // Return the result - $return = []; - foreach ($results->toArray() as $result) - $return[] = iterator_to_array($result); + // Convert the result into a TableModelResult + $result = new TableModelResult($results); - return $return; + return $result; } /** diff --git a/src/FuzeWorks/Model/PDOTableModel.php b/src/FuzeWorks/Model/PDOTableModel.php index ab8f123..764a040 100644 --- a/src/FuzeWorks/Model/PDOTableModel.php +++ b/src/FuzeWorks/Model/PDOTableModel.php @@ -175,12 +175,13 @@ class PDOTableModel implements iDatabaseTableModel { // Determine which fields to select. If none provided, select all $fields = (isset($options['fields']) && is_array($options['fields']) ? implode(',', $options['fields']) : '*'); + $limit = isset($options['limit']) ? 'LIMIT ' . intval($options['limit']) : ''; // Apply the filter. If none provided, don't condition it $where = $this->filter($filter); // Generate the sql and create a PDOStatement - $sql = "SELECT " . $fields . " FROM {$this->tableName} " . $where; + $sql = "SELECT " . $fields . " FROM {$this->tableName} " . $where . " " . $limit; /** @var PDOStatement $statement */ $this->lastStatement = $this->dbEngine->prepare($sql); @@ -235,9 +236,10 @@ class PDOTableModel implements iDatabaseTableModel { // Apply the filter $where = $this->filter($filter); + $limit = isset($options['limit']) ? 'LIMIT ' . intval($options['limit']) : ''; // Generate the sql and create a PDOStatement - $sql = "DELETE FROM {$this->tableName} " . $where; + $sql = "DELETE FROM {$this->tableName} " . $where . " " . $limit; /** @var PDOStatement $statement */ $this->lastStatement = $this->dbEngine->prepare($sql);