PluginProbe
User Access Manager / trunk
User Access Manager vtrunk
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
← All changes | src/Setup/Database/Table.php +8 -14 2.3.15trunk View file →
@@ -13,9 +13,9 @@
13 13 private string $name,
14 14 private string $charsetCollate,
15 15 private array $columns
16 16 ) {
17 - if (count($this->columns) <= 0) {
17 + if ($this->columns === []) {
18 18 throw new MissingColumnsException('The table needs at least one column.');
19 19 }
20 20 }
21 21
@@ -39,22 +39,16 @@
39 39
40 40 public function __toString(): string
41 41 {
42 42 $columns = implode(', ', $this->columns);
43 - $primaryKeys = [];
43 + $primaryKeys = array_map(
44 + static fn(Column $column) => "`{$column->getName()}`",
45 + array_filter($this->columns, static fn(Column $column) => $column->isKey() === true)
46 + );
44 47
45 - foreach ($this->columns as $column) {
46 - if ($column->isKey() === true) {
47 - $primaryKeys[] = "`{$column->getName()}`";
48 - }
49 - }
50 -
51 - $primaryKeysQuery = '';
52 -
53 - if ($primaryKeys !== []) {
54 - $primaryKeysQuery = implode(', ', $primaryKeys);
55 - $primaryKeysQuery = ", PRIMARY KEY ($primaryKeysQuery)";
56 - }
48 + $primaryKeysQuery = $primaryKeys === []
49 + ? ''
50 + : ', PRIMARY KEY (' . implode(', ', $primaryKeys) . ')';
57 51
58 52 return "CREATE TABLE `$this->name` (
59 53 $columns{$primaryKeysQuery}
60 54 ) $this->charsetCollate;";