Exemplo n.º 1
0
 public function __construct($verb, $dbengine = false, $autoTablePrefix = true)
 {
     $this->verb = strtoupper($verb);
     if (!in_array($this->verb, static::$legalVerbs)) {
         throw new NoSuchVerbException("The verb '{$verb}' is invalid or not available.");
     }
     $this->autoTablePrefix = $autoTablePrefix;
     $this->query = array();
     $this->query[$this->verb] = array();
     $this->joinStack = array();
     $this->whereStack = array();
     $this->havingStack = array();
     $this->tableAliases = array();
     $this->reqJoinCond = false;
     $this->dbengine = $dbengine instanceof DatabaseEngine ? $dbengine : DatabaseEngineFactory::getEngine($dbengine);
     $this->prefix = $this->dbengine->getTablePrefix();
 }
Exemplo n.º 2
0
 public static function select($query = false, $doMapping = false, $mapOverride = false, $dbengine = false)
 {
     $dbengine = $dbengine instanceof DatabaseEngine ? $dbengine : DatabaseEngineFactory::getEngine($dbengine);
     if (!$query) {
         $query = new Query('SELECT', $dbengine);
     }
     if ($mapOverride) {
         $mapOverride = array_merge(static::$beanMap, $mapOverride);
     }
     if ($doMapping !== false) {
         static::buildMappedSelect($query, $doMapping, $mapOverride);
     } else {
         foreach (static::$fields as $field) {
             $query->field($field);
         }
         $query->from(static::$tableNoPrefix);
     }
     $stmt = $query->prepare();
     if (!$stmt->execute()) {
         $info = $stmt->errorInfo();
         $e = new QueryFailedException($info[2]);
         $e->errorInfo = $info;
         throw $e;
     }
     $results = array();
     $beanClass = get_called_class();
     $registry = new BeanRegistry();
     while ($row = $stmt->fetchAssoc()) {
         if ($doMapping !== false) {
             $bean = static::getMappedBean($dbengine, $doMapping, $mapOverride, $row, $registry);
         } else {
             $bean = new $beanClass($dbengine, $row, false);
         }
         $results[] = $bean;
     }
     return $results;
 }
Exemplo n.º 3
0
 protected function escapeString($string)
 {
     $engine = DatabaseEngineFactory::getEngine();
     return $engine->quote($string);
 }