Example #1
0
function getColumns(PDO $connection, ColumnFactory $columnFactory, $table)
{
    $statement = $connection->prepare("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=?");
    $statement->execute([$table]);
    $columns = $statement->fetchAll();
    return array_map(function ($element) use($columnFactory) {
        return $columnFactory->buildColumn($element);
    }, $columns);
}
 /**
  * Return an array of Column objects with descriptions of each column
  * @param  array  $descriptions An array of columns on which DESCRIBE has been run with PDO::FETCH_OBJ
  * @param  string $type         The type of the database
  * @return array                An array of column objects
  */
 public function extract($descriptions, $type = 'mysql')
 {
     if (!in_array($type, array('mysql'))) {
         throw new \Exception('Invalid database type selected: ' . $type);
     }
     $columns = array();
     foreach ($descriptions as $d) {
         $columns[] = ColumnFactory::getInstance($type, $d);
     }
     return $columns;
 }