Example #1
0
 function resolve($connection = null)
 {
     //TODO: CHECK IF PLATFORM SUPPORTS TRANSACTIONS, THROW EXCEPTION IF NOT
     if ($connection instanceof \DBAL\Database) {
         $this->setDatabase($connection);
         $connection = $connection->getConnection();
     } elseif ($connection instanceof \DBAL\Connection) {
         $this->setDatabase($connection->getDatabase());
     }
     if (is_null($connection)) {
         $connection = $this->getConnection();
     }
     $resolved = parent::resolve($connection);
     if ($resolved) {
         $database = $this->getDatabase();
         if (!$database->selected() && !$database->select()) {
             return false;
         }
         $this->setConnection($connection);
         return true;
     }
     return false;
 }