PHPUnit_Extensions_Database_DB_DataSet::buildTableSelect PHP Méthode

buildTableSelect() public static méthode

Creates the query necessary to pull all of the data from a table.
public static buildTableSelect ( PHPUnit_Extensions_Database_DataSet_ITableMetaData $tableMetaData, PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection = NULL ) : unknown
$tableMetaData PHPUnit_Extensions_Database_DataSet_ITableMetaData
$databaseConnection PHPUnit_Extensions_Database_DB_IDatabaseConnection
Résultat unknown
    public static function buildTableSelect(PHPUnit_Extensions_Database_DataSet_ITableMetaData $tableMetaData, PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection = NULL)
    {
        if ($tableMetaData->getTableName() == '') {
            $e = new Exception("Empty Table Name");
            echo $e->getTraceAsString();
            throw $e;
        }
        $columns = $tableMetaData->getColumns();
        if ($databaseConnection) {
            $columns = array_map(array($databaseConnection, 'quoteSchemaObject'), $columns);
        }
        $columnList = implode(', ', $columns);
        if ($databaseConnection) {
            $tableName = $databaseConnection->quoteSchemaObject($tableMetaData->getTableName());
        } else {
            $tableName = $tableMetaData->getTableName();
        }
        $primaryKeys = $tableMetaData->getPrimaryKeys();
        if ($databaseConnection) {
            $primaryKeys = array_map(array($databaseConnection, 'quoteSchemaObject'), $primaryKeys);
        }
        if (count($primaryKeys)) {
            $orderBy = 'ORDER BY ' . implode(' ASC, ', $primaryKeys) . ' ASC';
        } else {
            $orderBy = '';
        }
        return "SELECT {$columnList} FROM {$tableName} {$orderBy}";
    }

Usage Example

Exemple #1
0
 /**
  * Creates a new database table object.
  *
  * @param PHPUnit_Extensions_Database_DataSet_ITableMetaData $tableMetaData
  * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection
  */
 public function __construct(PHPUnit_Extensions_Database_DataSet_ITableMetaData $tableMetaData, PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection)
 {
     $this->setTableMetaData($tableMetaData);
     $pdoStatement = $databaseConnection->getConnection()->prepare(PHPUnit_Extensions_Database_DB_DataSet::buildTableSelect($tableMetaData));
     $pdoStatement->execute();
     $this->data = $pdoStatement->fetchAll(PDO::FETCH_ASSOC);
 }