Skip to content

Commit

Permalink
Replace DbArrayHelper::getColumn() with array_column()
Browse files Browse the repository at this point in the history
  • Loading branch information
Tigrov committed Jan 29, 2025
1 parent 2b00882 commit 6abb725
Showing 1 changed file with 11 additions and 12 deletions.
23 changes: 11 additions & 12 deletions src/Schema.php
Original file line number Diff line number Diff line change
Expand Up @@ -165,15 +165,10 @@ protected function loadTableForeignKeys(string $tableName): array
$result = [];

$foreignKeysList = $this->getPragmaForeignKeyList($tableName);
/** @psalm-var ForeignKeyInfo[] $foreignKeysList */
$foreignKeysList = array_map(array_change_key_case(...), $foreignKeysList);
$foreignKeysList = DbArrayHelper::index($foreignKeysList, null, ['table']);
DbArrayHelper::multisort($foreignKeysList, 'seq');

/** @psalm-var GroupedForeignKeyInfo $foreignKeysList */
foreach ($foreignKeysList as $table => $foreignKeys) {
$foreignKeysById = DbArrayHelper::index($foreignKeys, null, ['id']);
$foreignKeysList = DbArrayHelper::index($foreignKeysList, null, ['table', 'id']);

foreach ($foreignKeysList as $table => $foreignKeysById) {
/**
* @psalm-var GroupedForeignKeyInfo $foreignKeysById
* @psalm-var int $id
Expand Down Expand Up @@ -501,20 +496,20 @@ private function loadTableConstraints(string $tableName, string $returnType): Co

if ($index['origin'] === 'pk') {
$result[self::PRIMARY_KEY] = (new Constraint())
->columnNames(DbArrayHelper::getColumn($columns, 'name'));
->columnNames(array_column($columns, 'name'));
}

if ($index['origin'] === 'u') {
$result[self::UNIQUES][] = (new Constraint())
->name($index['name'])
->columnNames(DbArrayHelper::getColumn($columns, 'name'));
->columnNames(array_column($columns, 'name'));
}

$result[self::INDEXES][] = (new IndexConstraint())
->primary($index['origin'] === 'pk')
->unique((bool) $index['unique'])
->name($index['name'])
->columnNames(DbArrayHelper::getColumn($columns, 'name'));
->columnNames(array_column($columns, 'name'));
}

if (!isset($result[self::PRIMARY_KEY])) {
Expand Down Expand Up @@ -549,10 +544,14 @@ private function loadTableConstraints(string $tableName, string $returnType): Co
*/
private function getPragmaForeignKeyList(string $tableName): array
{
/** @psalm-var ForeignKeyInfo[] */
return $this->db->createCommand(
$foreignKeysList = $this->db->createCommand(
'PRAGMA FOREIGN_KEY_LIST(' . $this->db->getQuoter()->quoteSimpleTableName($tableName) . ')'
)->queryAll();
$foreignKeysList = array_map(array_change_key_case(...), $foreignKeysList);
DbArrayHelper::multisort($foreignKeysList, 'seq');

/** @psalm-var ForeignKeyInfo[] $foreignKeysList */
return $foreignKeysList;
}

/**
Expand Down

0 comments on commit 6abb725

Please sign in to comment.