Completed
Push — master ( eb4f06...1a7436 )
by Ivan
03:42
created
src/schema/TableQuery.php 2 patches
Unused Use Statements   -1 removed lines patch added patch discarded remove patch
@@ -4,7 +4,6 @@
 block discarded – undo
4 4
 use vakata\collection\Collection;
5 5
 use vakata\database\DBInterface;
6 6
 use vakata\database\DBException;
7
-use vakata\database\ResultInterface;
8 7
 
9 8
 /**
10 9
  * A database query class
Please login to merge, or discard this patch.
Spacing   +154 added lines, -157 removed lines patch added patch discarded remove patch
@@ -44,7 +44,7 @@  discard block
 block discarded – undo
44 44
     /**
45 45
      * @var int[]
46 46
      */
47
-    protected $li_of = [0,0,0];
47
+    protected $li_of = [0, 0, 0];
48 48
     /**
49 49
      * @var array
50 50
      */
@@ -74,7 +74,7 @@  discard block
 block discarded – undo
74 74
     public function __construct(DBInterface $db, $table)
75 75
     {
76 76
         $this->db = $db;
77
-        $this->definition = $table instanceof Table ? $table : $this->db->definition((string)$table);
77
+        $this->definition = $table instanceof Table ? $table : $this->db->definition((string) $table);
78 78
         $primary = $this->definition->getPrimaryKey();
79 79
         $columns = $this->definition->getColumns();
80 80
         $this->pkey = count($primary) ? $primary : $columns;
@@ -97,7 +97,7 @@  discard block
 block discarded – undo
97 97
     {
98 98
         $column = explode('.', $column);
99 99
         if (count($column) === 1) {
100
-            $column = [ $this->definition->getName(), $column[0] ];
100
+            $column = [$this->definition->getName(), $column[0]];
101 101
             $col = $this->definition->getColumn($column[1]);
102 102
             if (!$col) {
103 103
                 throw new DBException('Invalid column name in own table');
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
                         throw new DBException('Invalid column name in related table');
121 121
                     }
122 122
                 } else {
123
-                    throw new DBException('Invalid foreign table name: ' . implode(',', $column));
123
+                    throw new DBException('Invalid foreign table name: '.implode(',', $column));
124 124
                 }
125 125
             }
126 126
         } else {
@@ -129,15 +129,15 @@  discard block
 block discarded – undo
129 129
             $table = $this->definition;
130 130
             $table = array_reduce(
131 131
                 $column,
132
-                function ($carry, $item) use (&$table) {
132
+                function($carry, $item) use (&$table) {
133 133
                     $table = $table->getRelation($item)->table;
134 134
                     return $table;
135 135
                 }
136 136
             );
137 137
             $col = $table->getColumn($name);
138
-            $column = [ implode(static::SEP, $column), $name ];
138
+            $column = [implode(static::SEP, $column), $name];
139 139
         }
140
-        return [ 'name' => implode('.', $column), 'data' => $col ];
140
+        return ['name' => implode('.', $column), 'data' => $col];
141 141
     }
142 142
     protected function normalizeValue(TableColumn $col, $value)
143 143
     {
@@ -184,7 +184,7 @@  discard block
 block discarded – undo
184 184
                 }
185 185
                 return $value;
186 186
             case 'int':
187
-                return (int)$value;
187
+                return (int) $value;
188 188
             default:
189 189
                 return $value;
190 190
         }
@@ -202,25 +202,23 @@  discard block
 block discarded – undo
202 202
         list($name, $column) = array_values($this->getColumn($column));
203 203
         if (is_null($value)) {
204 204
             return $negate ?
205
-                $this->where($name . ' IS NOT NULL') :
206
-                $this->where($name . ' IS NULL');
205
+                $this->where($name.' IS NOT NULL') : $this->where($name.' IS NULL');
207 206
         }
208 207
         if (!is_array($value)) {
209 208
             return $negate ?
210 209
                 $this->where(
211
-                    $name . ' <> ?',
212
-                    [ $this->normalizeValue($column, $value) ]
213
-                ) :
214
-                $this->where(
215
-                    $name . ' = ?',
216
-                    [ $this->normalizeValue($column, $value) ]
210
+                    $name.' <> ?',
211
+                    [$this->normalizeValue($column, $value)]
212
+                ) : $this->where(
213
+                    $name.' = ?',
214
+                    [$this->normalizeValue($column, $value)]
217 215
                 );
218 216
         }
219 217
         if (isset($value['beg']) && strlen($value['beg']) && (!isset($value['end']) || !strlen($value['end']))) {
220
-            $value = [ 'gte' => $value['beg'] ];
218
+            $value = ['gte' => $value['beg']];
221 219
         }
222 220
         if (isset($value['end']) && strlen($value['end']) && (!isset($value['beg']) || !strlen($value['beg']))) {
223
-            $value = [ 'lte' => $value['end'] ];
221
+            $value = ['lte' => $value['end']];
224 222
         }
225 223
         if (isset($value['beg']) && isset($value['end'])) {
226 224
             return $negate ?
@@ -230,8 +228,7 @@  discard block
 block discarded – undo
230 228
                         $this->normalizeValue($column, $value['beg']),
231 229
                         $this->normalizeValue($column, $value['end'])
232 230
                     ]
233
-                ) :
234
-                $this->where(
231
+                ) : $this->where(
235 232
                     $name.' BETWEEN ? AND ?',
236 233
                     [
237 234
                         $this->normalizeValue($column, $value['beg']),
@@ -242,38 +239,38 @@  discard block
 block discarded – undo
242 239
         if (isset($value['gt']) || isset($value['lt']) || isset($value['gte']) || isset($value['lte'])) {
243 240
             if (isset($value['gt'])) {
244 241
                 $this->where(
245
-                    $name. ' ' . ($negate ? '<=' : '>') . ' ?',
246
-                    [ $this->normalizeValue($column, $value['gt']) ]
242
+                    $name.' '.($negate ? '<=' : '>').' ?',
243
+                    [$this->normalizeValue($column, $value['gt'])]
247 244
                 );
248 245
             }
249 246
             if (isset($value['gte'])) {
250 247
                 $this->where(
251
-                    $name. ' ' . ($negate ? '<' : '>=') . ' ?',
252
-                    [ $this->normalizeValue($column, $value['gte']) ]
248
+                    $name.' '.($negate ? '<' : '>=').' ?',
249
+                    [$this->normalizeValue($column, $value['gte'])]
253 250
                 );
254 251
             }
255 252
             if (isset($value['lt'])) {
256 253
                 $this->where(
257
-                    $name. ' ' . ($negate ? '>=' : '<') . ' ?',
258
-                    [ $this->normalizeValue($column, $value['lt']) ]
254
+                    $name.' '.($negate ? '>=' : '<').' ?',
255
+                    [$this->normalizeValue($column, $value['lt'])]
259 256
                 );
260 257
             }
261 258
             if (isset($value['lte'])) {
262 259
                 $this->where(
263
-                    $name. ' ' . ($negate ? '>' : '<=') . ' ?',
264
-                    [ $this->normalizeValue($column, $value['lte']) ]
260
+                    $name.' '.($negate ? '>' : '<=').' ?',
261
+                    [$this->normalizeValue($column, $value['lte'])]
265 262
                 );
266 263
             }
267 264
             return $this;
268 265
         }
269 266
         return $negate ?
270 267
             $this->where(
271
-                $name . ' NOT IN (??)',
272
-                [ array_map(function ($v) use ($column) { return $this->normalizeValue($column, $v); }, $value) ]
268
+                $name.' NOT IN (??)',
269
+                [array_map(function($v) use ($column) { return $this->normalizeValue($column, $v); }, $value)]
273 270
             ) :
274 271
             $this->where(
275
-                $name . ' IN (??)',
276
-                [ array_map(function ($v) use ($column) { return $this->normalizeValue($column, $v); }, $value) ]
272
+                $name.' IN (??)',
273
+                [array_map(function($v) use ($column) { return $this->normalizeValue($column, $v); }, $value)]
277 274
             );
278 275
     }
279 276
     /**
@@ -284,7 +281,7 @@  discard block
 block discarded – undo
284 281
      */
285 282
     public function sort(string $column, bool $desc = false) : TableQuery
286 283
     {
287
-        return $this->order($this->getColumn($column)['name'] . ' ' . ($desc ? 'DESC' : 'ASC'));
284
+        return $this->order($this->getColumn($column)['name'].' '.($desc ? 'DESC' : 'ASC'));
288 285
     }
289 286
     /**
290 287
      * Group by a column (or columns)
@@ -294,7 +291,7 @@  discard block
 block discarded – undo
294 291
     public function group($column) : TableQuery
295 292
     {
296 293
         if (!is_array($column)) {
297
-            $column = [ $column ];
294
+            $column = [$column];
298 295
         }
299 296
         foreach ($column as $k => $v) {
300 297
             $column[$k] = $this->getColumn($v)['name'];
@@ -336,7 +333,7 @@  discard block
 block discarded – undo
336 333
         $this->order = [];
337 334
         $this->having = [];
338 335
         $this->aliases = [];
339
-        $this->li_of = [0,0,0];
336
+        $this->li_of = [0, 0, 0];
340 337
         $this->qiterator = null;
341 338
         return $this;
342 339
     }
@@ -349,7 +346,7 @@  discard block
 block discarded – undo
349 346
     public function groupBy(string $sql, array $params = []) : TableQuery
350 347
     {
351 348
         $this->qiterator = null;
352
-        $this->group = [ $sql, $params ];
349
+        $this->group = [$sql, $params];
353 350
         return $this;
354 351
     }
355 352
     /**
@@ -362,7 +359,7 @@  discard block
 block discarded – undo
362 359
      */
363 360
     public function join($table, array $fields, string $name = null, bool $multiple = true)
364 361
     {
365
-        $table = $table instanceof Table ? $table : $this->db->definition((string)$table);
362
+        $table = $table instanceof Table ? $table : $this->db->definition((string) $table);
366 363
         $name = $name ?? $table->getName();
367 364
         if (isset($this->joins[$name]) || $this->definition->hasRelation($name)) {
368 365
             throw new DBException('Alias / table name already in use');
@@ -371,7 +368,7 @@  discard block
 block discarded – undo
371 368
         foreach ($fields as $k => $v) {
372 369
             $k = explode('.', $k, 2);
373 370
             $k = count($k) == 2 ? $k[1] : $k[0];
374
-            $this->joins[$name]->keymap[$this->getColumn($name . '.' . $k)['name']] = $this->getColumn($v)['name'];
371
+            $this->joins[$name]->keymap[$this->getColumn($name.'.'.$k)['name']] = $this->getColumn($v)['name'];
375 372
         }
376 373
         return $this;
377 374
     }
@@ -384,7 +381,7 @@  discard block
 block discarded – undo
384 381
     public function where(string $sql, array $params = []) : TableQuery
385 382
     {
386 383
         $this->qiterator = null;
387
-        $this->where[] = [ $sql, $params ];
384
+        $this->where[] = [$sql, $params];
388 385
         return $this;
389 386
     }
390 387
     /**
@@ -396,7 +393,7 @@  discard block
 block discarded – undo
396 393
     public function having(string $sql, array $params = []) : TableQuery
397 394
     {
398 395
         $this->qiterator = null;
399
-        $this->having[] = [ $sql, $params ];
396
+        $this->having[] = [$sql, $params];
400 397
         return $this;
401 398
     }
402 399
     /**
@@ -408,7 +405,7 @@  discard block
 block discarded – undo
408 405
     public function order(string $sql, array $params = []) : TableQuery
409 406
     {
410 407
         $this->qiterator = null;
411
-        $this->order = [ $sql, $params ];
408
+        $this->order = [$sql, $params];
412 409
         return $this;
413 410
     }
414 411
     /**
@@ -420,7 +417,7 @@  discard block
 block discarded – undo
420 417
     public function limit(int $limit, int $offset = 0, bool $limitOnMainTable = false) : TableQuery
421 418
     {
422 419
         $this->qiterator = null;
423
-        $this->li_of = [ $limit, $offset, $limitOnMainTable ? 1 : 0 ];
420
+        $this->li_of = [$limit, $offset, $limitOnMainTable ? 1 : 0];
424 421
         return $this;
425 422
     }
426 423
     /**
@@ -430,9 +427,9 @@  discard block
 block discarded – undo
430 427
     public function count() : int
431 428
     {
432 429
         $aliases = [];
433
-        $getAlias = function ($name) use (&$aliases) {
430
+        $getAlias = function($name) use (&$aliases) {
434 431
             // to bypass use: return $name;
435
-            return $aliases[$name] = $aliases[$name] ?? 'alias' . static::SEP . count($aliases);
432
+            return $aliases[$name] = $aliases[$name] ?? 'alias'.static::SEP.count($aliases);
436 433
         };
437 434
         $table = $this->definition->getName();
438 435
         $sql = 'SELECT COUNT(DISTINCT '.$table.'.'.implode(', '.$table.'.', $this->pkey).') FROM '.$table.' ';
@@ -447,44 +444,44 @@  discard block
 block discarded – undo
447 444
         $h = $this->having;
448 445
         $o = $this->order;
449 446
         $g = $this->group;
450
-        $j = array_map(function ($v) { return clone $v; }, $this->joins);
447
+        $j = array_map(function($v) { return clone $v; }, $this->joins);
451 448
         foreach ($this->definition->getRelations() as $k => $v) {
452 449
             foreach ($w as $kk => $vv) {
453
-                if (preg_match('(\b'.preg_quote($k . '.'). ')i', $vv[0])) {
454
-                    $relations[$k] = [ $v, $table ];
455
-                    $w[$kk][0] = preg_replace('(\b'.preg_quote($k . '.'). ')i', $getAlias($k) . '.', $vv[0]);
450
+                if (preg_match('(\b'.preg_quote($k.'.').')i', $vv[0])) {
451
+                    $relations[$k] = [$v, $table];
452
+                    $w[$kk][0] = preg_replace('(\b'.preg_quote($k.'.').')i', $getAlias($k).'.', $vv[0]);
456 453
                 }
457 454
             }
458
-            if (isset($o[0]) && preg_match('(\b'.preg_quote($k . '.'). ')i', $o[0])) {
459
-                $relations[$k] = [ $v, $table ];
455
+            if (isset($o[0]) && preg_match('(\b'.preg_quote($k.'.').')i', $o[0])) {
456
+                $relations[$k] = [$v, $table];
460 457
             }
461 458
             foreach ($h as $kk => $vv) {
462
-                if (preg_match('(\b'.preg_quote($k . '.'). ')i', $vv[0])) {
463
-                    $relations[$k] = [ $relation, $table ];
464
-                    $h[$kk][0] = preg_replace('(\b'.preg_quote($k . '.'). ')i', $getAlias($k) . '.', $vv[0]);
459
+                if (preg_match('(\b'.preg_quote($k.'.').')i', $vv[0])) {
460
+                    $relations[$k] = [$relation, $table];
461
+                    $h[$kk][0] = preg_replace('(\b'.preg_quote($k.'.').')i', $getAlias($k).'.', $vv[0]);
465 462
                 }
466 463
             }
467
-            if (isset($g[0]) && preg_match('(\b'.preg_quote($k . '.'). ')i', $g[0])) {
468
-                $relations[$k] = [ $relation, $table ];
469
-                $g[0] = preg_replace('(\b'.preg_quote($k . '.'). ')i', $getAlias($k) . '.', $g[0]);
464
+            if (isset($g[0]) && preg_match('(\b'.preg_quote($k.'.').')i', $g[0])) {
465
+                $relations[$k] = [$relation, $table];
466
+                $g[0] = preg_replace('(\b'.preg_quote($k.'.').')i', $getAlias($k).'.', $g[0]);
470 467
             }
471 468
             foreach ($j as $kk => $v) {
472 469
                 foreach ($v->keymap as $kkk => $vv) {
473
-                    if (preg_match('(\b'.preg_quote($k . '.'). ')i', $vv)) {
474
-                        $relations[$k] = [ $relation, $table ];
475
-                        $j[$k]->keymap[$kkk] = preg_replace('(\b'.preg_quote($k . '.'). ')i', $getAlias($k) . '.', $vv);
470
+                    if (preg_match('(\b'.preg_quote($k.'.').')i', $vv)) {
471
+                        $relations[$k] = [$relation, $table];
472
+                        $j[$k]->keymap[$kkk] = preg_replace('(\b'.preg_quote($k.'.').')i', $getAlias($k).'.', $vv);
476 473
                     }
477 474
                 }
478 475
             }
479 476
         }
480 477
 
481 478
         foreach ($j as $k => $v) {
482
-            $sql .= ($v->many ? 'LEFT ' : '' ) . 'JOIN '.$v->table->getName().' '.$k.' ON ';
479
+            $sql .= ($v->many ? 'LEFT ' : '').'JOIN '.$v->table->getName().' '.$k.' ON ';
483 480
             $tmp = [];
484 481
             foreach ($v->keymap as $kk => $vv) {
485 482
                 $tmp[] = $kk.' = '.$vv;
486 483
             }
487
-            $sql .= implode(' AND ', $tmp) . ' ';
484
+            $sql .= implode(' AND ', $tmp).' ';
488 485
         }
489 486
         foreach ($relations as $k => $v) {
490 487
             $table = $v[1] !== $this->definition->getName() ? $getAlias($v[1]) : $v[1];
@@ -496,13 +493,13 @@  discard block
 block discarded – undo
496 493
                 foreach ($v->keymap as $kk => $vv) {
497 494
                     $tmp[] = $table.'.'.$kk.' = '.$alias.'.'.$vv.' ';
498 495
                 }
499
-                $sql .= implode(' AND ', $tmp) . ' ';
496
+                $sql .= implode(' AND ', $tmp).' ';
500 497
                 $sql .= 'LEFT JOIN '.$v->table->getName().' '.$getAlias($k).' ON ';
501 498
                 $tmp = [];
502 499
                 foreach ($v->pivot_keymap as $kk => $vv) {
503 500
                     $tmp[] = $getAlias($k).'.'.$vv.' = '.$alias.'.'.$kk.' ';
504 501
                 }
505
-                $sql .= implode(' AND ', $tmp) . ' ';
502
+                $sql .= implode(' AND ', $tmp).' ';
506 503
             } else {
507 504
                 $alias = $getAlias($k);
508 505
                 $sql .= 'LEFT JOIN '.$v->table->getName().' '.$alias.' ON ';
@@ -511,30 +508,30 @@  discard block
 block discarded – undo
511 508
                     $tmp[] = $table.'.'.$kk.' = '.$alias.'.'.$vv.' ';
512 509
                 }
513 510
                 if ($v->sql) {
514
-                    $tmp[] = $v->sql . ' ';
511
+                    $tmp[] = $v->sql.' ';
515 512
                     $par = array_merge($par, $v->par ?? []);
516 513
                 }
517
-                $sql .= implode(' AND ', $tmp) . ' ';
514
+                $sql .= implode(' AND ', $tmp).' ';
518 515
             }
519 516
         }
520 517
         if (count($w)) {
521 518
             $sql .= 'WHERE ';
522 519
             $tmp = [];
523 520
             foreach ($w as $v) {
524
-                $tmp[] = '(' . $v[0] . ')';
521
+                $tmp[] = '('.$v[0].')';
525 522
                 $par = array_merge($par, $v[1]);
526 523
             }
527 524
             $sql .= implode(' AND ', $tmp).' ';
528 525
         }
529 526
         if (count($g)) {
530
-            $sql .= 'GROUP BY ' . $g[0] . ' ';
527
+            $sql .= 'GROUP BY '.$g[0].' ';
531 528
             $par = array_merge($par, $g[1]);
532 529
         }
533 530
         if (count($h)) {
534 531
             $sql .= 'HAVING ';
535 532
             $tmp = [];
536 533
             foreach ($h as $v) {
537
-                $tmp[] = '(' . $v[0] . ')';
534
+                $tmp[] = '('.$v[0].')';
538 535
                 $par = array_merge($par, $v[1]);
539 536
             }
540 537
             $sql .= implode(' AND ', $tmp).' ';
@@ -568,7 +565,7 @@  discard block
 block discarded – undo
568 565
                     $this->with(implode('.', $temp));
569 566
                     $table = array_reduce(
570 567
                         $temp,
571
-                        function ($carry, $item) use (&$table) {
568
+                        function($carry, $item) use (&$table) {
572 569
                             return $table->getRelation($item)->table;
573 570
                         }
574 571
                     );
@@ -577,7 +574,7 @@  discard block
 block discarded – undo
577 574
                 }
578 575
                 unset($fields[$k]);
579 576
                 foreach ($cols as $col) {
580
-                    $fields[] = $table . '.' . $col;
577
+                    $fields[] = $table.'.'.$col;
581 578
                 }
582 579
             }
583 580
         }
@@ -609,9 +606,9 @@  discard block
 block discarded – undo
609 606
             return $this->qiterator;
610 607
         }
611 608
         $aliases = [];
612
-        $getAlias = function ($name) use (&$aliases) {
609
+        $getAlias = function($name) use (&$aliases) {
613 610
             // to bypass use: return $name;
614
-            return $aliases[$name] = $aliases[$name] ?? 'alias' . static::SEP . count($aliases);
611
+            return $aliases[$name] = $aliases[$name] ?? 'alias'.static::SEP.count($aliases);
615 612
         };
616 613
         $table = $this->definition->getName();
617 614
         if ($fields !== null) {
@@ -627,7 +624,7 @@  discard block
 block discarded – undo
627 624
         $h = $this->having;
628 625
         $o = $this->order;
629 626
         $g = $this->group;
630
-        $j = array_map(function ($v) { return clone $v; }, $this->joins);
627
+        $j = array_map(function($v) { return clone $v; }, $this->joins);
631 628
 
632 629
         $porder = [];
633 630
         foreach ($this->definition->getPrimaryKey() as $field) {
@@ -640,9 +637,9 @@  discard block
 block discarded – undo
640 637
                 if (count($porder) > 1) {
641 638
                     $pkw = [];
642 639
                     foreach ($porder as $name) {
643
-                        $pkw[] = $name . ' = ?';
640
+                        $pkw[] = $name.' = ?';
644 641
                     }
645
-                    $pkw = '(' . implode(' AND ', $pkw) . ')';
642
+                    $pkw = '('.implode(' AND ', $pkw).')';
646 643
                     $pkp = [];
647 644
                     foreach ($ids as $id) {
648 645
                         foreach ($id as $p) {
@@ -654,67 +651,67 @@  discard block
 block discarded – undo
654 651
                         $pkp
655 652
                     ];
656 653
                 } else {
657
-                    $w[] = [ $porder[0] . ' IN ('.implode(',', array_fill(0, count($ids), '?')).')', $ids ];
654
+                    $w[] = [$porder[0].' IN ('.implode(',', array_fill(0, count($ids), '?')).')', $ids];
658 655
                 }
659 656
             } else {
660
-                $w[] = [ '1=0', [] ];
657
+                $w[] = ['1=0', []];
661 658
             }
662 659
         }
663 660
 
664 661
         foreach ($this->definition->getRelations() as $k => $relation) {
665 662
             foreach ($f as $kk => $field) {
666
-                if (strpos($field, $k . '.') === 0) {
667
-                    $relations[$k] = [ $relation, $table ];
668
-                    $f[$kk] = str_replace($k . '.', $getAlias($k) . '.', $field);
663
+                if (strpos($field, $k.'.') === 0) {
664
+                    $relations[$k] = [$relation, $table];
665
+                    $f[$kk] = str_replace($k.'.', $getAlias($k).'.', $field);
669 666
                 }
670 667
             }
671 668
             foreach ($w as $kk => $v) {
672
-                if (preg_match('(\b'.preg_quote($k . '.'). ')i', $v[0])) {
673
-                    $relations[$k] = [ $relation, $table ];
674
-                    $w[$kk][0] = preg_replace('(\b'.preg_quote($k . '.'). ')i', $getAlias($k) . '.', $v[0]);
669
+                if (preg_match('(\b'.preg_quote($k.'.').')i', $v[0])) {
670
+                    $relations[$k] = [$relation, $table];
671
+                    $w[$kk][0] = preg_replace('(\b'.preg_quote($k.'.').')i', $getAlias($k).'.', $v[0]);
675 672
                 }
676 673
             }
677 674
             foreach ($h as $kk => $v) {
678
-                if (preg_match('(\b'.preg_quote($k . '.'). ')i', $v[0])) {
679
-                    $relations[$k] = [ $relation, $table ];
680
-                    $h[$kk][0] = preg_replace('(\b'.preg_quote($k . '.'). ')i', $getAlias($k) . '.', $v[0]);
675
+                if (preg_match('(\b'.preg_quote($k.'.').')i', $v[0])) {
676
+                    $relations[$k] = [$relation, $table];
677
+                    $h[$kk][0] = preg_replace('(\b'.preg_quote($k.'.').')i', $getAlias($k).'.', $v[0]);
681 678
                 }
682 679
             }
683
-            if (isset($o[0]) && preg_match('(\b'.preg_quote($k . '.'). ')i', $o[0])) {
684
-                $relations[$k] = [ $relation, $table ];
685
-                $o[0] = preg_replace('(\b'.preg_quote($k . '.'). ')i', $getAlias($k) . '.', $o[0]);
680
+            if (isset($o[0]) && preg_match('(\b'.preg_quote($k.'.').')i', $o[0])) {
681
+                $relations[$k] = [$relation, $table];
682
+                $o[0] = preg_replace('(\b'.preg_quote($k.'.').')i', $getAlias($k).'.', $o[0]);
686 683
             }
687
-            if (isset($g[0]) && preg_match('(\b'.preg_quote($k . '.'). ')i', $g[0])) {
688
-                $relations[$k] = [ $relation, $table ];
689
-                $g[0] = preg_replace('(\b'.preg_quote($k . '.'). ')i', $getAlias($k) . '.', $g[0]);
684
+            if (isset($g[0]) && preg_match('(\b'.preg_quote($k.'.').')i', $g[0])) {
685
+                $relations[$k] = [$relation, $table];
686
+                $g[0] = preg_replace('(\b'.preg_quote($k.'.').')i', $getAlias($k).'.', $g[0]);
690 687
             }
691 688
             foreach ($j as $kk => $v) {
692 689
                 foreach ($v->keymap as $kkk => $vv) {
693
-                    if (preg_match('(\b'.preg_quote($k . '.'). ')i', $vv)) {
694
-                        $relations[$k] = [ $relation, $table ];
695
-                        $j[$k]->keymap[$kkk] = preg_replace('(\b'.preg_quote($k . '.'). ')i', $getAlias($k) . '.', $vv);
690
+                    if (preg_match('(\b'.preg_quote($k.'.').')i', $vv)) {
691
+                        $relations[$k] = [$relation, $table];
692
+                        $j[$k]->keymap[$kkk] = preg_replace('(\b'.preg_quote($k.'.').')i', $getAlias($k).'.', $vv);
696 693
                     }
697 694
                 }
698 695
             }
699 696
         }
700 697
         $select = [];
701 698
         foreach ($f as $k => $field) {
702
-            $select[] = $field . (!is_numeric($k) ? ' ' . $k : '');
699
+            $select[] = $field.(!is_numeric($k) ? ' '.$k : '');
703 700
         }
704 701
         foreach ($this->withr as $name => $relation) {
705 702
             foreach ($relation[0]->table->getColumns() as $column) {
706
-                $select[] = $getAlias($name) . '.' . $column . ' ' . $getAlias($name . static::SEP . $column);
703
+                $select[] = $getAlias($name).'.'.$column.' '.$getAlias($name.static::SEP.$column);
707 704
             }
708 705
         }
709 706
         $sql = 'SELECT '.implode(', ', $select).' FROM '.$table.' ';
710 707
         $par = [];
711 708
         foreach ($j as $k => $v) {
712
-            $sql .= ($v->many ? 'LEFT ' : '' ) . 'JOIN '.$v->table->getName().' '.$k.' ON ';
709
+            $sql .= ($v->many ? 'LEFT ' : '').'JOIN '.$v->table->getName().' '.$k.' ON ';
713 710
             $tmp = [];
714 711
             foreach ($v->keymap as $kk => $vv) {
715 712
                 $tmp[] = $kk.' = '.$vv;
716 713
             }
717
-            $sql .= implode(' AND ', $tmp) . ' ';
714
+            $sql .= implode(' AND ', $tmp).' ';
718 715
         }
719 716
         foreach ($relations as $relation => $v) {
720 717
             $table = $v[1] !== $this->definition->getName() ? $getAlias($v[1]) : $v[1];
@@ -726,13 +723,13 @@  discard block
 block discarded – undo
726 723
                 foreach ($v->keymap as $kk => $vv) {
727 724
                     $tmp[] = $table.'.'.$kk.' = '.$alias.'.'.$vv.' ';
728 725
                 }
729
-                $sql .= implode(' AND ', $tmp) . ' ';
726
+                $sql .= implode(' AND ', $tmp).' ';
730 727
                 $sql .= 'LEFT JOIN '.$v->table->getName().' '.$getAlias($relation).' ON ';
731 728
                 $tmp = [];
732 729
                 foreach ($v->pivot_keymap as $kk => $vv) {
733 730
                     $tmp[] = $getAlias($relation).'.'.$vv.' = '.$alias.'.'.$kk.' ';
734 731
                 }
735
-                $sql .= implode(' AND ', $tmp) . ' ';
732
+                $sql .= implode(' AND ', $tmp).' ';
736 733
             } else {
737 734
                 $alias = $getAlias($relation);
738 735
 
@@ -742,62 +739,62 @@  discard block
 block discarded – undo
742 739
                     $tmp[] = $table.'.'.$kk.' = '.$alias.'.'.$vv.' ';
743 740
                 }
744 741
                 if ($v->sql) {
745
-                    $tmp[] = $v->sql . ' ';
742
+                    $tmp[] = $v->sql.' ';
746 743
                     $par = array_merge($par, $v->par ?? []);
747 744
                 }
748
-                $sql .= implode(' AND ', $tmp) . ' ';
745
+                $sql .= implode(' AND ', $tmp).' ';
749 746
             }
750 747
         }
751 748
         if (count($w)) {
752 749
             $sql .= 'WHERE ';
753 750
             $tmp = [];
754 751
             foreach ($w as $v) {
755
-                $tmp[] = '(' . $v[0] . ')';
752
+                $tmp[] = '('.$v[0].')';
756 753
                 $par = array_merge($par, $v[1]);
757 754
             }
758 755
             $sql .= implode(' AND ', $tmp).' ';
759 756
         }
760 757
         if (count($g)) {
761
-            $sql .= 'GROUP BY ' . $g[0] . ' ';
758
+            $sql .= 'GROUP BY '.$g[0].' ';
762 759
             $par = array_merge($par, $g[1]);
763 760
         }
764 761
         if (count($h)) {
765 762
             $sql .= 'HAVING ';
766 763
             $tmp = [];
767 764
             foreach ($h as $v) {
768
-                $tmp[] = '(' . $v[0] . ')';
765
+                $tmp[] = '('.$v[0].')';
769 766
                 $par = array_merge($par, $v[1]);
770 767
             }
771 768
             $sql .= implode(' AND ', $tmp).' ';
772 769
         }
773 770
         if (count($o)) {
774
-            $sql .= 'ORDER BY ' . $o[0] . ' ';
771
+            $sql .= 'ORDER BY '.$o[0].' ';
775 772
             $par = array_merge($par, $o[1]);
776 773
         }
777 774
         if (count($porder)) {
778
-            $sql .= (count($o) ? ', ' : 'ORDER BY ') . implode(', ', $porder) . ' ';
775
+            $sql .= (count($o) ? ', ' : 'ORDER BY ').implode(', ', $porder).' ';
779 776
         }
780 777
         if (($this->li_of[2] === 0 || !count($porder)) && $this->li_of[0]) {
781 778
             if ($this->db->driverName() === 'oracle') {
782
-                if ((int)$this->db->driverOption('version', 0) >= 12) {
783
-                    $sql .= 'OFFSET ' . $this->li_of[1] . ' ROWS FETCH NEXT ' . $this->li_of[0] . ' ROWS ONLY';
779
+                if ((int) $this->db->driverOption('version', 0) >= 12) {
780
+                    $sql .= 'OFFSET '.$this->li_of[1].' ROWS FETCH NEXT '.$this->li_of[0].' ROWS ONLY';
784 781
                 } else {
785
-                    $f = array_map(function ($v) {
782
+                    $f = array_map(function($v) {
786 783
                         $v = explode(' ', trim($v), 2);
787 784
                         if (count($v) === 2) { return $v[1]; }
788 785
                         $v = explode('.', $v[0], 2);
789 786
                         return count($v) === 2 ? $v[1] : $v[0];
790 787
                     }, $select);
791
-                    $sql = "SELECT " . implode(', ', $f) . " 
788
+                    $sql = "SELECT ".implode(', ', $f)." 
792 789
                             FROM (
793 790
                                 SELECT tbl__.*, rownum rnum__ FROM (
794
-                                    " . $sql . "
791
+                                    " . $sql."
795 792
                                 ) tbl__ 
796
-                                WHERE rownum <= " . ($this->li_of[0] + $this->li_of[1]) . "
793
+                                WHERE rownum <= " . ($this->li_of[0] + $this->li_of[1])."
797 794
                             ) WHERE rnum__ > " . $this->li_of[1];
798 795
                 }
799 796
             } else {
800
-                $sql .= 'LIMIT ' . $this->li_of[0] . ' OFFSET ' . $this->li_of[1];
797
+                $sql .= 'LIMIT '.$this->li_of[0].' OFFSET '.$this->li_of[1];
801 798
             }
802 799
         }
803 800
         return $this->qiterator = new TableQueryIterator(
@@ -847,7 +844,7 @@  discard block
 block discarded – undo
847 844
                 $ret[$k] = str_repeat(' ', 255);
848 845
                 $par[] = &$ret[$k];
849 846
             }
850
-            $sql .= ' RETURNING ' . implode(',', $primary) . ' INTO ' . implode(',', array_fill(0, count($primary), '?'));
847
+            $sql .= ' RETURNING '.implode(',', $primary).' INTO '.implode(',', array_fill(0, count($primary), '?'));
851 848
             $this->db->query($sql, $par);
852 849
             return $ret;
853 850
         } else {
@@ -879,7 +876,7 @@  discard block
 block discarded – undo
879 876
         }
880 877
         $sql = 'UPDATE '.$table.' SET ';
881 878
         $par = [];
882
-        $sql .= implode(', ', array_map(function ($v) { return $v . ' = ?'; }, array_keys($update))) . ' ';
879
+        $sql .= implode(', ', array_map(function($v) { return $v.' = ?'; }, array_keys($update))).' ';
883 880
         $par = array_merge($par, array_values($update));
884 881
         if (count($this->where)) {
885 882
             $sql .= 'WHERE ';
@@ -888,7 +885,7 @@  discard block
 block discarded – undo
888 885
                 $tmp[] = $v[0];
889 886
                 $par = array_merge($par, $v[1]);
890 887
             }
891
-            $sql .= implode(' AND ', $tmp) . ' ';
888
+            $sql .= implode(' AND ', $tmp).' ';
892 889
         }
893 890
         if (count($this->order)) {
894 891
             $sql .= $this->order[0];
@@ -912,7 +909,7 @@  discard block
 block discarded – undo
912 909
                 $tmp[] = $v[0];
913 910
                 $par = array_merge($par, $v[1]);
914 911
             }
915
-            $sql .= implode(' AND ', $tmp) . ' ';
912
+            $sql .= implode(' AND ', $tmp).' ';
916 913
         }
917 914
         if (count($this->order)) {
918 915
             $sql .= $this->order[0];
@@ -932,13 +929,13 @@  discard block
 block discarded – undo
932 929
         $table = $this->definition;
933 930
         array_reduce(
934 931
             $parts,
935
-            function ($carry, $item) use (&$table) {
932
+            function($carry, $item) use (&$table) {
936 933
                 $relation = $table->getRelation($item);
937 934
                 if (!$relation) {
938 935
                     throw new DBException('Invalid relation name');
939 936
                 }
940
-                $name = $carry ? $carry . static::SEP . $item : $item;
941
-                $this->withr[$name] = [ $relation, $carry ?? $table->getName() ];
937
+                $name = $carry ? $carry.static::SEP.$item : $item;
938
+                $this->withr[$name] = [$relation, $carry ?? $table->getName()];
942 939
                 $table = $relation->table;
943 940
                 return $name;
944 941
             }
@@ -976,9 +973,9 @@  discard block
 block discarded – undo
976 973
     public function ids()
977 974
     {
978 975
         $aliases = [];
979
-        $getAlias = function ($name) use (&$aliases) {
976
+        $getAlias = function($name) use (&$aliases) {
980 977
             // to bypass use: return $name;
981
-            return $aliases[$name] = $aliases[$name] ?? 'alias' . static::SEP . count($aliases);
978
+            return $aliases[$name] = $aliases[$name] ?? 'alias'.static::SEP.count($aliases);
982 979
         };
983 980
         $table = $this->definition->getName();
984 981
         $sql = 'SELECT DISTINCT '.$table.'.'.implode(', '.$table.'.', $this->pkey).' FROM '.$table.' ';
@@ -993,44 +990,44 @@  discard block
 block discarded – undo
993 990
         $h = $this->having;
994 991
         $o = $this->order;
995 992
         $g = $this->group;
996
-        $j = array_map(function ($v) { return clone $v; }, $this->joins);
993
+        $j = array_map(function($v) { return clone $v; }, $this->joins);
997 994
         foreach ($this->definition->getRelations() as $k => $v) {
998 995
             foreach ($w as $kk => $vv) {
999
-                if (preg_match('(\b'.preg_quote($k . '.'). ')i', $vv[0])) {
1000
-                    $relations[$k] = [ $v, $table ];
1001
-                    $w[$kk][0] = preg_replace('(\b'.preg_quote($k . '.'). ')i', $getAlias($k) . '.', $vv[0]);
996
+                if (preg_match('(\b'.preg_quote($k.'.').')i', $vv[0])) {
997
+                    $relations[$k] = [$v, $table];
998
+                    $w[$kk][0] = preg_replace('(\b'.preg_quote($k.'.').')i', $getAlias($k).'.', $vv[0]);
1002 999
                 }
1003 1000
             }
1004
-            if (isset($o[0]) && preg_match('(\b'.preg_quote($k . '.'). ')i', $o[0])) {
1005
-                $relations[$k] = [ $v, $table ];
1001
+            if (isset($o[0]) && preg_match('(\b'.preg_quote($k.'.').')i', $o[0])) {
1002
+                $relations[$k] = [$v, $table];
1006 1003
             }
1007 1004
             foreach ($h as $kk => $vv) {
1008
-                if (preg_match('(\b'.preg_quote($k . '.'). ')i', $vv[0])) {
1009
-                    $relations[$k] = [ $relation, $table ];
1010
-                    $h[$kk][0] = preg_replace('(\b'.preg_quote($k . '.'). ')i', $getAlias($k) . '.', $vv[0]);
1005
+                if (preg_match('(\b'.preg_quote($k.'.').')i', $vv[0])) {
1006
+                    $relations[$k] = [$relation, $table];
1007
+                    $h[$kk][0] = preg_replace('(\b'.preg_quote($k.'.').')i', $getAlias($k).'.', $vv[0]);
1011 1008
                 }
1012 1009
             }
1013
-            if (isset($g[0]) && preg_match('(\b'.preg_quote($k . '.'). ')i', $g[0])) {
1014
-                $relations[$k] = [ $relation, $table ];
1015
-                $g[0] = preg_replace('(\b'.preg_quote($k . '.'). ')i', $getAlias($k) . '.', $g[0]);
1010
+            if (isset($g[0]) && preg_match('(\b'.preg_quote($k.'.').')i', $g[0])) {
1011
+                $relations[$k] = [$relation, $table];
1012
+                $g[0] = preg_replace('(\b'.preg_quote($k.'.').')i', $getAlias($k).'.', $g[0]);
1016 1013
             }
1017 1014
             foreach ($j as $kk => $v) {
1018 1015
                 foreach ($v->keymap as $kkk => $vv) {
1019
-                    if (preg_match('(\b'.preg_quote($k . '.'). ')i', $vv)) {
1020
-                        $relations[$k] = [ $relation, $table ];
1021
-                        $j[$k]->keymap[$kkk] = preg_replace('(\b'.preg_quote($k . '.'). ')i', $getAlias($k) . '.', $vv);
1016
+                    if (preg_match('(\b'.preg_quote($k.'.').')i', $vv)) {
1017
+                        $relations[$k] = [$relation, $table];
1018
+                        $j[$k]->keymap[$kkk] = preg_replace('(\b'.preg_quote($k.'.').')i', $getAlias($k).'.', $vv);
1022 1019
                     }
1023 1020
                 }
1024 1021
             }
1025 1022
         }
1026 1023
 
1027 1024
         foreach ($j as $k => $v) {
1028
-            $sql .= ($v->many ? 'LEFT ' : '' ) . 'JOIN '.$v->table->getName().' '.$k.' ON ';
1025
+            $sql .= ($v->many ? 'LEFT ' : '').'JOIN '.$v->table->getName().' '.$k.' ON ';
1029 1026
             $tmp = [];
1030 1027
             foreach ($v->keymap as $kk => $vv) {
1031 1028
                 $tmp[] = $kk.' = '.$vv;
1032 1029
             }
1033
-            $sql .= implode(' AND ', $tmp) . ' ';
1030
+            $sql .= implode(' AND ', $tmp).' ';
1034 1031
         }
1035 1032
         foreach ($relations as $k => $v) {
1036 1033
             $table = $v[1] !== $this->definition->getName() ? $getAlias($v[1]) : $v[1];
@@ -1042,13 +1039,13 @@  discard block
 block discarded – undo
1042 1039
                 foreach ($v->keymap as $kk => $vv) {
1043 1040
                     $tmp[] = $table.'.'.$kk.' = '.$alias.'.'.$vv.' ';
1044 1041
                 }
1045
-                $sql .= implode(' AND ', $tmp) . ' ';
1042
+                $sql .= implode(' AND ', $tmp).' ';
1046 1043
                 $sql .= 'LEFT JOIN '.$v->table->getName().' '.$getAlias($k).' ON ';
1047 1044
                 $tmp = [];
1048 1045
                 foreach ($v->pivot_keymap as $kk => $vv) {
1049 1046
                     $tmp[] = $getAlias($k).'.'.$vv.' = '.$alias.'.'.$kk.' ';
1050 1047
                 }
1051
-                $sql .= implode(' AND ', $tmp) . ' ';
1048
+                $sql .= implode(' AND ', $tmp).' ';
1052 1049
             } else {
1053 1050
                 $alias = $getAlias($k);
1054 1051
                 $sql .= 'LEFT JOIN '.$v->table->getName().' '.$alias.' ON ';
@@ -1057,36 +1054,36 @@  discard block
 block discarded – undo
1057 1054
                     $tmp[] = $table.'.'.$kk.' = '.$alias.'.'.$vv.' ';
1058 1055
                 }
1059 1056
                 if ($v->sql) {
1060
-                    $tmp[] = $v->sql . ' ';
1057
+                    $tmp[] = $v->sql.' ';
1061 1058
                     $par = array_merge($par, $v->par ?? []);
1062 1059
                 }
1063
-                $sql .= implode(' AND ', $tmp) . ' ';
1060
+                $sql .= implode(' AND ', $tmp).' ';
1064 1061
             }
1065 1062
         }
1066 1063
         if (count($w)) {
1067 1064
             $sql .= 'WHERE ';
1068 1065
             $tmp = [];
1069 1066
             foreach ($w as $v) {
1070
-                $tmp[] = '(' . $v[0] . ')';
1067
+                $tmp[] = '('.$v[0].')';
1071 1068
                 $par = array_merge($par, $v[1]);
1072 1069
             }
1073 1070
             $sql .= implode(' AND ', $tmp).' ';
1074 1071
         }
1075 1072
         if (count($g)) {
1076
-            $sql .= 'GROUP BY ' . $g[0] . ' ';
1073
+            $sql .= 'GROUP BY '.$g[0].' ';
1077 1074
             $par = array_merge($par, $g[1]);
1078 1075
         }
1079 1076
         if (count($h)) {
1080 1077
             $sql .= 'HAVING ';
1081 1078
             $tmp = [];
1082 1079
             foreach ($h as $v) {
1083
-                $tmp[] = '(' . $v[0] . ')';
1080
+                $tmp[] = '('.$v[0].')';
1084 1081
                 $par = array_merge($par, $v[1]);
1085 1082
             }
1086 1083
             $sql .= implode(' AND ', $tmp).' ';
1087 1084
         }
1088 1085
         if (count($o)) {
1089
-            $sql .= 'ORDER BY ' . $o[0] . ' ';
1086
+            $sql .= 'ORDER BY '.$o[0].' ';
1090 1087
             $par = array_merge($par, $o[1]);
1091 1088
         }
1092 1089
         $porder = [];
@@ -1094,30 +1091,30 @@  discard block
 block discarded – undo
1094 1091
             $porder[] = $this->getColumn($field)['name'];
1095 1092
         }
1096 1093
         if (count($porder)) {
1097
-            $sql .= (count($o) ? ', ' : 'ORDER BY ') . implode(', ', $porder) . ' ';
1094
+            $sql .= (count($o) ? ', ' : 'ORDER BY ').implode(', ', $porder).' ';
1098 1095
         }
1099 1096
 
1100 1097
         if ($this->li_of[0]) {
1101 1098
             if ($this->db->driverName() === 'oracle') {
1102
-                if ((int)$this->db->driverOption('version', 0) >= 12) {
1103
-                    $sql .= 'OFFSET ' . $this->li_of[1] . ' ROWS FETCH NEXT ' . $this->li_of[0] . ' ROWS ONLY';
1099
+                if ((int) $this->db->driverOption('version', 0) >= 12) {
1100
+                    $sql .= 'OFFSET '.$this->li_of[1].' ROWS FETCH NEXT '.$this->li_of[0].' ROWS ONLY';
1104 1101
                 } else {
1105
-                    $f = array_map(function ($v) {
1102
+                    $f = array_map(function($v) {
1106 1103
                         $v = explode(' ', trim($v), 2);
1107 1104
                         if (count($v) === 2) { return $v[1]; }
1108 1105
                         $v = explode('.', $v[0], 2);
1109 1106
                         return count($v) === 2 ? $v[1] : $v[0];
1110 1107
                     }, $select);
1111
-                    $sql = "SELECT " . implode(', ', $f) . " 
1108
+                    $sql = "SELECT ".implode(', ', $f)." 
1112 1109
                             FROM (
1113 1110
                                 SELECT tbl__.*, rownum rnum__ FROM (
1114
-                                    " . $sql . "
1111
+                                    " . $sql."
1115 1112
                                 ) tbl__ 
1116
-                                WHERE rownum <= " . ($this->li_of[0] + $this->li_of[1]) . "
1113
+                                WHERE rownum <= " . ($this->li_of[0] + $this->li_of[1])."
1117 1114
                             ) WHERE rnum__ > " . $this->li_of[1];
1118 1115
                 }
1119 1116
             } else {
1120
-                $sql .= 'LIMIT ' . $this->li_of[0] . ' OFFSET ' . $this->li_of[1];
1117
+                $sql .= 'LIMIT '.$this->li_of[0].' OFFSET '.$this->li_of[1];
1121 1118
             }
1122 1119
         }
1123 1120
         return $this->db->all($sql, $par);
Please login to merge, or discard this patch.