/** * @param null $statement * @param null $binds * @return Query */ public function query($statement = null, $binds = null) { if ($statement instanceof Batch) { $statements = $statement->get(); } else { $arguments = func_get_args(); $statements = array(SimpleExpression::createFromFuncArguments($arguments)); } if (empty($statements) || empty($statement)) { throw new Exception('Empty statement', Exception::EMPTY_STATEMENT); } $query = null; foreach ($statements as $expression) { if (!$expression->isEmpty()) { $query = new Query($expression, $this->getDriver()); if (null !== $this->log) { $query->log($this->log); } } } return $query; }