PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.16.9
GiveWP – Donation Plugin and Fundraising Platform v4.16.9
4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 All 255 releases
give / src / Framework / QueryBuilder / Concerns / FromClause.php

FromClause.php in GiveWP – Donation Plugin and Fundraising Platform 4.16.9, at src/Framework/QueryBuilder/Concerns/FromClause.php

59 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Give\Framework\QueryBuilder\Concerns;
4
5 use Give\Framework\Database\DB;
6 use Give\Framework\QueryBuilder\Clauses\From;
7 use Give\Framework\QueryBuilder\Clauses\RawSQL;
8
9 /**
10 * @since 2.19.0
11 */
12 trait FromClause
13 {
14 /**
15 * @var From[]
16 */
17 protected $froms = [];
18
19 /**
20 * @param string|RawSQL $table
21 * @param string|null $alias
22 *
23 * @return $this
24 */
25 public function from($table, $alias = null)
26 {
27 $this->froms[] = new From($table, $alias);
28
29 return $this;
30 }
31
32 /**
33 * @return array|string[]
34 */
35 protected function getFromSQL()
36 {
37 if (empty($this->froms)) {
38 return [];
39 }
40
41 return [
42 'FROM ' . implode(
43 ', ',
44 array_map(function (From $from) {
45 if ($from->alias) {
46 return DB::prepare(
47 '%1s AS %2s',
48 $from->table,
49 $from->alias
50 );
51 }
52
53 return DB::prepare('%1s', $from->table);
54 }, $this->froms)
55 )
56 ];
57 }
58 }
59