PluginProbe
User Access Manager / 2.3.13
User Access Manager v2.3.13
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 +14 -8 trunk2.3.13 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 ($this->columns === []) {
17 + if (count($this->columns) <= 0) {
18 18 throw new MissingColumnsException('The table needs at least one column.');
19 19 }
20 20 }
21 21
@@ -39,16 +39,22 @@
39 39
40 40 public function __toString(): string
41 41 {
42 42 $columns = implode(', ', $this->columns);
43 - $primaryKeys = array_map(
44 - static fn(Column $column) => "`{$column->getName()}`",
45 - array_filter($this->columns, static fn(Column $column) => $column->isKey() === true)
46 - );
43 + $primaryKeys = [];
47 44
48 - $primaryKeysQuery = $primaryKeys === []
49 - ? ''
50 - : ', PRIMARY KEY (' . implode(', ', $primaryKeys) . ')';
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 + }
51 57
52 58 return "CREATE TABLE `$this->name` (
53 59 $columns{$primaryKeysQuery}
54 60 ) $this->charsetCollate;";