From 3c2f88aa4bcd09f33c3e5797bea9daf865c48aff Mon Sep 17 00:00:00 2001 From: Jose Lorenzo Rodriguez Date: Sun, 13 Apr 2014 19:07:24 +0200 Subject: [PATCH] Moving method to where it makes more sense --- src/Database/Connection.php | 23 +---------------------- src/Database/ValueBinder.php | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/src/Database/Connection.php b/src/Database/Connection.php index 99799e4083e..6d0d9f08b2b 100644 --- a/src/Database/Connection.php +++ b/src/Database/Connection.php @@ -253,33 +253,12 @@ public function run(Query $query) { list($query, $sql) = $this->driver()->compileQuery($query, $binder); $statement = $this->prepare($sql); - $this->_bindStatement($binder, $statement); + $binder->attachTo($statement); $statement->execute(); return $statement; } -/** - * Traverses all QueryExpression objects stored in every relevant for the passed - * type of query and binds every value to the statement object for each placeholder. - * - * @param \Cake\Database\ValueBinder $binder the object containing the bindings - * @param \Cake\Database\StatementInterface $statement - * @return void - */ - protected function _bindStatement($binder, $statement) { - $bindings = $binder->bindings(); - if (empty($bindings)) { - return; - } - $params = $types = []; - foreach ($bindings as $b) { - $params[$b['placeholder']] = $b['value']; - $types[$b['placeholder']] = $b['type']; - } - $statement->bind($params, $types); - } - /** * Executes a SQL statement and returns the Statement object as result. * diff --git a/src/Database/ValueBinder.php b/src/Database/ValueBinder.php index d83a38f1736..eb34edd96df 100644 --- a/src/Database/ValueBinder.php +++ b/src/Database/ValueBinder.php @@ -100,4 +100,23 @@ public function resetCount() { $this->_bindingsCount = 0; } +/** + * Binds all the stored values in this object to the passed statement. + * + * @param \Cake\Database\StatementInterface $statement + * @return void + */ + protected function attachTo($statement) { + $bindings = $this->bindings(); + if (empty($bindings)) { + return; + } + $params = $types = []; + foreach ($bindings as $b) { + $params[$b['placeholder']] = $b['value']; + $types[$b['placeholder']] = $b['type']; + } + $statement->bind($params, $types); + } + }