From 22676ccee0ad567300bea31485ecefd34b1c71e6 Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Mon, 8 Aug 2011 16:09:08 -0500 Subject: [PATCH] Refactor the query->get() method. --- system/db/query.php | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/system/db/query.php b/system/db/query.php index 975d004f..34dce059 100644 --- a/system/db/query.php +++ b/system/db/query.php @@ -524,6 +524,22 @@ class Query { $this->select($columns); } + $results = $this->connection->query($this->compile_select(), $this->bindings); + + // Reset the SELECT clause so more queries can be performed using the same instance. + // This is helpful for getting aggregates and then getting actual results. + $this->select = null; + + return $results; + } + + /** + * Compile the query into a SQL SELECT statement. + * + * @return string + */ + private function compile_select() + { $sql = $this->select.' '.$this->from.' '.$this->where; if (count($this->orderings) > 0) @@ -541,13 +557,7 @@ class Query { $sql .= ' OFFSET '.$this->offset; } - $results = $this->connection->query($sql, $this->bindings); - - // Reset the SELECT clause so more queries can be performed using the same instance. - // This is helpful for getting aggregates and then getting actual results. - $this->select = null; - - return $results; + return $sql; } /** @@ -586,7 +596,7 @@ class Query { } /** - * Compile an SQL INSERT statement. + * Compile the query into a SQL INSERT statement. * * @param array $values * @return string