Exemplo n.º 1
0
 /**
  * Prepare a statement
  * @param string $statement the SQL query
  * @param array $driver_options
  * @return \PdoStatement
  */
 public function prepare($statement, $driver_options = [])
 {
     if (!is_null($this->pagination)) {
         $pagination_query = $this->paginateQuery($statement, $this->pagination->getCurrentPageNumber(), $this->pagination->getMaxResultsPerPage());
         $count_query = $this->convertToCountQuery($statement);
         $primary_statement = parent::prepare($pagination_query, $driver_options);
         $count_statement = parent::prepare($count_query, $driver_options);
         $statement = new PdoStatement();
         $statement->setPagination($this->pagination);
         $statement->setPrimaryStatement($primary_statement);
         $statement->setCountStatement($count_statement);
         // clear pagination
         $this->pagination = null;
         return $statement;
     } else {
         return parent::prepare($statement, $driver_options);
     }
 }