1 | <?php |
||
13 | class OrderStatement extends Statement |
||
14 | { |
||
15 | /** |
||
16 | * @var bool |
||
17 | */ |
||
18 | protected $groupBy; |
||
19 | |||
20 | /** |
||
21 | * @var array |
||
22 | */ |
||
23 | protected $fields = []; |
||
24 | |||
25 | /** |
||
26 | * @param bool $groupBy when true, statement becomes a group by statement |
||
27 | */ |
||
28 | public function __construct($groupBy = false) |
||
32 | |||
33 | /** |
||
34 | * Tells whether this statement is a GROUP BY statement. |
||
35 | * |
||
36 | * @return bool true: is group by, false: is order by |
||
37 | */ |
||
38 | public function isGroupBy() |
||
42 | |||
43 | /** |
||
44 | * Adds fields to this statement |
||
45 | * Support input styles: |
||
46 | * - addFields('field ASC,field2') |
||
47 | * - addFields('field', 'ASC') |
||
48 | * - addFields(['field','field2'], 'DESC') |
||
49 | * - addFields([['field','ASC'], ['field2','ASC']]). |
||
50 | * |
||
51 | * @param string|array $fields |
||
52 | * @param string $direction direction for fields where direction is unspecified (optional) |
||
53 | * |
||
54 | * @return self |
||
55 | */ |
||
56 | public function addFields($fields, $direction = false) |
||
81 | |||
82 | /** |
||
83 | * Gets the fields associated with this statement. |
||
84 | * |
||
85 | * @return array fields i.e. [['field1','ASC'], ['field2']] |
||
86 | */ |
||
87 | public function getFields() |
||
91 | |||
92 | public function build() |
||
110 | } |
||
111 |