/**
  * Executes query and returns QueryResult object
  * @param DatabaseManager $databaseManager (if false static::$databaseManager is in use)
  * @throws Exception
  * @return QueryResult
  */
 public function exec($databaseManager = false)
 {
     if ($databaseManager && method_exists($databaseManager, 'query')) {
         return $databaseManager->query($this->queryString);
     }
     if (static::$databaseManager && method_exists(static::$databaseManager, 'query')) {
         return static::$databaseManager->query($this->queryString);
     }
     throw new Exception('QueryBuilder: no database manager');
 }
示例#2
0
 public function init()
 {
     // подключаем конфигурацию
     $this->config = (require MUSHROOM_DIR_APP_CONFIG . '/config.php');
     // настраиваем алиасы классов
     foreach ($this->config['classAliases'] as $serviceName => $className) {
         class_alias($className, $serviceName);
     }
     // подключаем СУБД
     Event::trigger('onBeforeDatabaseInit', $app);
     if ($this->config['database'] && $this->config['database']['type']) {
         $this->database = DatabaseManager::get($this->config['database']);
         QueryBuilder::setup($this->database);
         // QueryBuilder::setDatabaseType($this->config['database']['type']);
         // QueryBuilder::setEncoding($this->database->getEncoding(), $this->database->getCollate());
         // QueryBuilder::setDatabaseManager($this->database);
     }
     Event::trigger('onAfterDatabaseInit', $app);
 }