Example #1
0
 /**
  * @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;
 }