@@ -55,17 +55,17 @@ discard block |
||
55 | 55 | list($state, $code, $message) = $errorInfo; |
56 | 56 | $functs = [ |
57 | 57 | // violation: column cannot be null |
58 | - 1048 => function ($message) { |
|
58 | + 1048 => function($message) { |
|
59 | 59 | preg_match("#Column '(.+)' cannot be null#", $message, $m); |
60 | 60 | return ['FIELD_REQUIRED', $m[1]]; |
61 | 61 | }, |
62 | 62 | |
63 | - 1054 => function ($message) { |
|
63 | + 1054 => function($message) { |
|
64 | 64 | return ['COLUMN_DOES_NOT_EXIST', $message]; |
65 | 65 | }, |
66 | 66 | |
67 | 67 | // violation: duplicate key |
68 | - 1062 => function ($message) { |
|
68 | + 1062 => function($message) { |
|
69 | 69 | if (preg_match("#'([^']+)' for key '([^']+)'#", $message, $m)) { |
70 | 70 | $entry = $m[1]; |
71 | 71 | $key = $m[2]; |
@@ -79,25 +79,25 @@ discard block |
||
79 | 79 | return ["DUPLICATE_KEY:".$m[1]]; |
80 | 80 | }, |
81 | 81 | |
82 | - 1064 => function ($message) { |
|
82 | + 1064 => function($message) { |
|
83 | 83 | preg_match("#right syntax to use near '(.+)'#", $message, $m); |
84 | 84 | return ['SYNTAX_ERROR', $m[1]]; |
85 | 85 | }, |
86 | 86 | |
87 | - 1146 => function ($message) { |
|
87 | + 1146 => function($message) { |
|
88 | 88 | return ['TABLE_DOES_NOT_EXIST', $message]; |
89 | 89 | }, |
90 | 90 | |
91 | - 1264 => function ($message) { |
|
91 | + 1264 => function($message) { |
|
92 | 92 | preg_match("#for column '(.+)'#", $message, $m); |
93 | 93 | return ['VALUE_OUT_OF_RANGE', $m[1]]; |
94 | 94 | }, |
95 | 95 | |
96 | - 1364 => function ($message) { |
|
96 | + 1364 => function($message) { |
|
97 | 97 | return ['FIELD_REQUIRED', $message]; |
98 | 98 | }, |
99 | 99 | |
100 | - 1451 => function ($message) { |
|
100 | + 1451 => function($message) { |
|
101 | 101 | preg_match("#CONSTRAINT `(.+)` FOREIGN#", $message, $m); |
102 | 102 | return ['RELATIONAL_INTEGRITY', $m[1]]; |
103 | 103 | }, |
@@ -106,6 +106,6 @@ discard block |
||
106 | 106 | if (isset($functs[$code])) |
107 | 107 | return [call_user_func($functs[$code], $message), $code]; |
108 | 108 | |
109 | - return ['FUBAR #' . $state . '-' . $code . '-' . $message, $code]; |
|
109 | + return ['FUBAR #'.$state.'-'.$code.'-'.$message, $code]; |
|
110 | 110 | } |
111 | 111 | } |
@@ -20,19 +20,22 @@ discard block |
||
20 | 20 | { |
21 | 21 | $errorInfo = null; |
22 | 22 | |
23 | - if (!$query->isSuccess()) |
|
24 | - $errorInfo = $query->errorInfo(); |
|
25 | - elseif ($exception !== null) |
|
26 | - $errorInfo = $exception->errorInfo; |
|
23 | + if (!$query->isSuccess()) { |
|
24 | + $errorInfo = $query->errorInfo(); |
|
25 | + } elseif ($exception !== null) { |
|
26 | + $errorInfo = $exception->errorInfo; |
|
27 | + } |
|
27 | 28 | |
28 | - if (!is_array($errorInfo)) |
|
29 | - return new CruditesException('ERROR_INFO_UNAVAILABLE', 0, $exception); |
|
29 | + if (!is_array($errorInfo)) { |
|
30 | + return new CruditesException('ERROR_INFO_UNAVAILABLE', 0, $exception); |
|
31 | + } |
|
30 | 32 | |
31 | 33 | list($message, $code) = self::transcript($errorInfo); |
32 | 34 | |
33 | 35 | // TODO: losing the parsing work from transcript. IMPROVE |
34 | - if (is_array($message)) |
|
35 | - $message = array_shift($message); |
|
36 | + if (is_array($message)) { |
|
37 | + $message = array_shift($message); |
|
38 | + } |
|
36 | 39 | |
37 | 40 | return new CruditesException($message, $code, null); // exception could reveal database credentials |
38 | 41 | } |
@@ -103,8 +106,9 @@ discard block |
||
103 | 106 | }, |
104 | 107 | |
105 | 108 | ]; |
106 | - if (isset($functs[$code])) |
|
107 | - return [call_user_func($functs[$code], $message), $code]; |
|
109 | + if (isset($functs[$code])) { |
|
110 | + return [call_user_func($functs[$code], $message), $code]; |
|
111 | + } |
|
108 | 112 | |
109 | 113 | return ['FUBAR #' . $state . '-' . $code . '-' . $message, $code]; |
110 | 114 | } |
@@ -16,12 +16,12 @@ discard block |
||
16 | 16 | $this->message = $message; |
17 | 17 | } |
18 | 18 | |
19 | - public function __toString(){ |
|
19 | + public function __toString() { |
|
20 | 20 | $ret = $this->message; |
21 | 21 | |
22 | - if(!empty($this->table)) |
|
22 | + if (!empty($this->table)) |
|
23 | 23 | $ret .= sprintf(' on table "%s"', $this->table); |
24 | - if(!empty($this->columns)) |
|
24 | + if (!empty($this->columns)) |
|
25 | 25 | $ret .= sprintf(' on column(s) "%s"', implode('", "', $this->columns)); |
26 | 26 | |
27 | 27 | return $ret; |
@@ -31,9 +31,9 @@ discard block |
||
31 | 31 | { |
32 | 32 | $errorInfo = null; |
33 | 33 | |
34 | - if(method_exists($something_PDO, 'errorInfo')) |
|
34 | + if (method_exists($something_PDO, 'errorInfo')) |
|
35 | 35 | $errorInfo = $something_PDO->errorInfo(); |
36 | - elseif(property_exists($something_PDO, 'errorInfo')) |
|
36 | + elseif (property_exists($something_PDO, 'errorInfo')) |
|
37 | 37 | $errorInfo = $something_PDO->errorInfo; |
38 | 38 | else |
39 | 39 | throw new \InvalidArgumentException('INVALID_PDO_CLASS'); |
@@ -19,10 +19,12 @@ discard block |
||
19 | 19 | public function __toString(){ |
20 | 20 | $ret = $this->message; |
21 | 21 | |
22 | - if(!empty($this->table)) |
|
23 | - $ret .= sprintf(' on table "%s"', $this->table); |
|
24 | - if(!empty($this->columns)) |
|
25 | - $ret .= sprintf(' on column(s) "%s"', implode('", "', $this->columns)); |
|
22 | + if(!empty($this->table)) { |
|
23 | + $ret .= sprintf(' on table "%s"', $this->table); |
|
24 | + } |
|
25 | + if(!empty($this->columns)) { |
|
26 | + $ret .= sprintf(' on column(s) "%s"', implode('", "', $this->columns)); |
|
27 | + } |
|
26 | 28 | |
27 | 29 | return $ret; |
28 | 30 | } |
@@ -31,12 +33,13 @@ discard block |
||
31 | 33 | { |
32 | 34 | $errorInfo = null; |
33 | 35 | |
34 | - if(method_exists($something_PDO, 'errorInfo')) |
|
35 | - $errorInfo = $something_PDO->errorInfo(); |
|
36 | - elseif(property_exists($something_PDO, 'errorInfo')) |
|
37 | - $errorInfo = $something_PDO->errorInfo; |
|
38 | - else |
|
39 | - throw new \InvalidArgumentException('INVALID_PDO_CLASS'); |
|
36 | + if(method_exists($something_PDO, 'errorInfo')) { |
|
37 | + $errorInfo = $something_PDO->errorInfo(); |
|
38 | + } elseif(property_exists($something_PDO, 'errorInfo')) { |
|
39 | + $errorInfo = $something_PDO->errorInfo; |
|
40 | + } else { |
|
41 | + throw new \InvalidArgumentException('INVALID_PDO_CLASS'); |
|
42 | + } |
|
40 | 43 | |
41 | 44 | // 0: the SQLSTATE associated with the last operation on the database handle |
42 | 45 | $this->setState($errorInfo[0] ?? null); |
@@ -33,8 +33,7 @@ |
||
33 | 33 | |
34 | 34 | if (empty($this->bindings)) { |
35 | 35 | unset($dbg['bindings']); |
36 | - } |
|
37 | - else{ |
|
36 | + } else{ |
|
38 | 37 | $dbg['bindings'] = json_encode($dbg['bindings']); |
39 | 38 | } |
40 | 39 |
@@ -38,7 +38,7 @@ discard block |
||
38 | 38 | if (empty($this->bindings)) { |
39 | 39 | unset($dbg['bindings']); |
40 | 40 | } |
41 | - else{ |
|
41 | + else { |
|
42 | 42 | $dbg['bindings'] = json_encode($dbg['bindings']); |
43 | 43 | } |
44 | 44 | |
@@ -99,11 +99,11 @@ discard block |
||
99 | 99 | |
100 | 100 | public function bindings(): array |
101 | 101 | { |
102 | - if(empty($this->clauses)){ |
|
102 | + if (empty($this->clauses)) { |
|
103 | 103 | return $this->bindings; |
104 | 104 | } |
105 | 105 | |
106 | - return array_merge($this->bindings, array_reduce($this->clauses, function ($carry, $clause) { |
|
106 | + return array_merge($this->bindings, array_reduce($this->clauses, function($carry, $clause) { |
|
107 | 107 | return array_merge($carry, $clause->bindings()); |
108 | 108 | }, [])); |
109 | 109 | } |
@@ -119,7 +119,7 @@ discard block |
||
119 | 119 | |
120 | 120 | public function bindLabel($field, $table_name = null): string |
121 | 121 | { |
122 | - return ':' . $this->tableLabel($table_name) . '_' . $field; |
|
122 | + return ':'.$this->tableLabel($table_name).'_'.$field; |
|
123 | 123 | } |
124 | 124 | |
125 | 125 | public function addBindings($assoc_data): array |
@@ -8,7 +8,6 @@ |
||
8 | 8 | * LEFT JOIN, two ways |
9 | 9 | * (new Join('cbx_order', 'Orders'))->on('user_id', 'User', 'id')->type('LEFT'); |
10 | 10 | * (new Join('cbx_order', 'Orders'))->on('user_id', 'User', 'id')->left(); |
11 | - |
|
12 | 11 | * INNER JOIN, with helper, before on |
13 | 12 | * (new Join('cbx_order', 'Orders'))->inner()->on('user_id', 'User', 'id'); |
14 | 13 | */ |
@@ -119,13 +119,13 @@ |
||
119 | 119 | continue; // dont load the log information |
120 | 120 | } else { |
121 | 121 | $m = []; |
122 | - if (preg_match('/(.+)_(' . $fk_column->foreignColumnName() . ')$/', $fk_column->name(), $m)) { |
|
122 | + if (preg_match('/(.+)_('.$fk_column->foreignColumnName().')$/', $fk_column->name(), $m)) { |
|
123 | 123 | $foreign_table_alias = $m[1]; |
124 | 124 | } else { |
125 | 125 | $foreign_table_alias = $foreign_table_name; |
126 | 126 | } |
127 | 127 | |
128 | - $foreign_table_alias = $single_fk ? $foreign_table_alias : $foreign_table_alias . '_' . $fk_column->name(); |
|
128 | + $foreign_table_alias = $single_fk ? $foreign_table_alias : $foreign_table_alias.'_'.$fk_column->name(); |
|
129 | 129 | |
130 | 130 | // auto select non nullable columns |
131 | 131 | } |
@@ -113,7 +113,7 @@ |
||
113 | 113 | private static function options(array $provided = []): array |
114 | 114 | { |
115 | 115 | if (isset($provided[\PDO::ATTR_ERRMODE])) { |
116 | - unset($provided[\PDO::ATTR_ERRMODE]); // the one option you cannot change |
|
116 | + unset($provided[\PDO::ATTR_ERRMODE]); // the one option you cannot change |
|
117 | 117 | } |
118 | 118 | |
119 | 119 | return array_merge( |
@@ -27,24 +27,24 @@ discard block |
||
27 | 27 | public function listRelations(): array |
28 | 28 | { |
29 | 29 | $relations = []; |
30 | - foreach($this->connection->schema()->foreignKeysFor() as $table => $join){ |
|
30 | + foreach ($this->connection->schema()->foreignKeysFor() as $table => $join) { |
|
31 | 31 | |
32 | - if(count($join) == 1){ |
|
33 | - $res = new HasOne($table, $join,$this->connection); |
|
32 | + if (count($join) == 1) { |
|
33 | + $res = new HasOne($table, $join, $this->connection); |
|
34 | 34 | $relations["$res"] = $res; |
35 | 35 | } |
36 | - else if(count($join) == 2){ |
|
37 | - $res = new OneToMany($table, $join,$this->connection); |
|
36 | + else if (count($join) == 2) { |
|
37 | + $res = new OneToMany($table, $join, $this->connection); |
|
38 | 38 | $relations["$res"] = $res; |
39 | 39 | |
40 | - $res = new OneToMany($table, array_reverse($join),$this->connection); |
|
40 | + $res = new OneToMany($table, array_reverse($join), $this->connection); |
|
41 | 41 | $relations["$res"] = $res; |
42 | 42 | } |
43 | - else if(count($join) == 3){ |
|
44 | - $res = new OneToManyQualified($table, $join,$this->connection); |
|
43 | + else if (count($join) == 3) { |
|
44 | + $res = new OneToManyQualified($table, $join, $this->connection); |
|
45 | 45 | $relations["$res"] = $res; |
46 | 46 | |
47 | - $res = new OneToManyQualified($table, array_reverse($join),$this->connection); |
|
47 | + $res = new OneToManyQualified($table, array_reverse($join), $this->connection); |
|
48 | 48 | $relations["$res"] = $res; |
49 | 49 | } |
50 | 50 | else |
@@ -66,8 +66,8 @@ discard block |
||
66 | 66 | { |
67 | 67 | $ret = []; |
68 | 68 | |
69 | - foreach($this->relations as $urn => $relation){ |
|
70 | - if($relation->source() === $source){ |
|
69 | + foreach ($this->relations as $urn => $relation) { |
|
70 | + if ($relation->source() === $source) { |
|
71 | 71 | $ret[$urn] = $relation; |
72 | 72 | } |
73 | 73 | } |
@@ -32,22 +32,19 @@ |
||
32 | 32 | if(count($join) == 1){ |
33 | 33 | $res = new HasOne($table, $join,$this->connection); |
34 | 34 | $relations["$res"] = $res; |
35 | - } |
|
36 | - else if(count($join) == 2){ |
|
35 | + } else if(count($join) == 2){ |
|
37 | 36 | $res = new OneToMany($table, $join,$this->connection); |
38 | 37 | $relations["$res"] = $res; |
39 | 38 | |
40 | 39 | $res = new OneToMany($table, array_reverse($join),$this->connection); |
41 | 40 | $relations["$res"] = $res; |
42 | - } |
|
43 | - else if(count($join) == 3){ |
|
41 | + } else if(count($join) == 3){ |
|
44 | 42 | $res = new OneToManyQualified($table, $join,$this->connection); |
45 | 43 | $relations["$res"] = $res; |
46 | 44 | |
47 | 45 | $res = new OneToManyQualified($table, array_reverse($join),$this->connection); |
48 | 46 | $relations["$res"] = $res; |
49 | - } |
|
50 | - else |
|
47 | + } else |
|
51 | 48 | { |
52 | 49 | vd($join, 'skipping '.$table); |
53 | 50 | } |
@@ -17,7 +17,7 @@ discard block |
||
17 | 17 | protected $secondary_table; |
18 | 18 | protected $secondary_col; |
19 | 19 | |
20 | - public const NAME='ABSTRACT_RELATION'; |
|
20 | + public const NAME = 'ABSTRACT_RELATION'; |
|
21 | 21 | |
22 | 22 | |
23 | 23 | public function __debugInfo() |
@@ -46,11 +46,11 @@ discard block |
||
46 | 46 | $this->connection = $c; |
47 | 47 | } |
48 | 48 | |
49 | - public function source(){ |
|
49 | + public function source() { |
|
50 | 50 | return $this->primary_table; |
51 | 51 | } |
52 | 52 | |
53 | - public function target(){ |
|
53 | + public function target() { |
|
54 | 54 | return $this->secondary_table; |
55 | 55 | } |
56 | 56 |
@@ -7,10 +7,10 @@ discard block |
||
7 | 7 | |
8 | 8 | class OneToManyQualified extends OneToMany |
9 | 9 | { |
10 | - private $pivot_qualified; // FK to the table storing the qualifiers |
|
10 | + private $pivot_qualified; // FK to the table storing the qualifiers |
|
11 | 11 | |
12 | - private $qualified_table; // table storing the qualifiers (tags) |
|
13 | - private $qualified_col; // PK of the table storing the qualifiers |
|
12 | + private $qualified_table; // table storing the qualifiers (tags) |
|
13 | + private $qualified_col; // PK of the table storing the qualifiers |
|
14 | 14 | |
15 | 15 | public const NAME = 'hasAndBelongsToManyQualified'; |
16 | 16 | |
@@ -25,7 +25,7 @@ discard block |
||
25 | 25 | |
26 | 26 | public function __toString() |
27 | 27 | { |
28 | - return $this->primary_table . '-hasAndBelongsToManyQualified-' . $this->secondary_table; |
|
28 | + return $this->primary_table.'-hasAndBelongsToManyQualified-'.$this->secondary_table; |
|
29 | 29 | } |
30 | 30 | |
31 | 31 | // what a mess... |
@@ -55,7 +55,7 @@ discard block |
||
55 | 55 | |
56 | 56 | public function getTargets(int $source): array |
57 | 57 | { |
58 | - $table =$this->connection->schema()->table($this->secondary_table); |
|
58 | + $table = $this->connection->schema()->table($this->secondary_table); |
|
59 | 59 | $select = $table->select() |
60 | 60 | ->join([$this->pivot_table], [[$this->secondary_table, $this->secondary_col, $this->pivot_table, $this->pivot_secondary]], 'INNER') |
61 | 61 | ->whereEQ($this->pivot_primary, $source, $this->pivot_table); |
@@ -80,11 +80,11 @@ discard block |
||
80 | 80 | private function query(int $source, array $targetWithQualifier, string $method): array |
81 | 81 | { |
82 | 82 | |
83 | - if($source < 1) { |
|
83 | + if ($source < 1) { |
|
84 | 84 | throw new \InvalidArgumentException('MISSING_PARENT_ID'); |
85 | 85 | } |
86 | 86 | |
87 | - if($method !== 'insert' && $method !== 'delete') { |
|
87 | + if ($method !== 'insert' && $method !== 'delete') { |
|
88 | 88 | throw new \InvalidArgumentException('INVALID_METHOD'); |
89 | 89 | } |
90 | 90 | |
@@ -92,7 +92,7 @@ discard block |
||
92 | 92 | |
93 | 93 | try { |
94 | 94 | vd($targetWithQualifier, $this->pivot_table); |
95 | - $pivot_table =$this->connection->schema()->table($this->pivot_table); |
|
95 | + $pivot_table = $this->connection->schema()->table($this->pivot_table); |
|
96 | 96 | |
97 | 97 | foreach ($targetWithQualifier as [$qualified_id, $qualifier_id]) { |
98 | 98 |