1 | <?php |
||
22 | class SelectWriter extends AbstractBaseWriter |
||
23 | { |
||
24 | /** |
||
25 | * @param $alias |
||
26 | * @param Select $select |
||
27 | * |
||
28 | * @return Column |
||
29 | */ |
||
30 | public function selectToColumn($alias, Select $select) |
||
42 | |||
43 | /** |
||
44 | * @param Select $select |
||
45 | * |
||
46 | * @return string |
||
47 | */ |
||
48 | public function write(Select $select) |
||
56 | |||
57 | /** |
||
58 | * @param Select $select |
||
59 | * |
||
60 | * @return string |
||
61 | */ |
||
62 | protected function writeSelectQuery(Select $select) |
||
81 | |||
82 | /** |
||
83 | * @param Select $select |
||
84 | * @param string[] $parts |
||
85 | * |
||
86 | * @return $this |
||
87 | */ |
||
88 | public function writeSelectColumns(Select $select, array &$parts) |
||
111 | |||
112 | /** |
||
113 | * @param $tableColumns |
||
114 | * @param $selectAsColumns |
||
115 | * @param $valueAsColumns |
||
116 | * @param $funcAsColumns |
||
117 | * |
||
118 | * @return array |
||
119 | */ |
||
120 | protected function writeColumnAlias($tableColumns, $selectAsColumns, $valueAsColumns, $funcAsColumns) |
||
133 | |||
134 | /** |
||
135 | * @param Select $select |
||
136 | * @param string[] $parts |
||
137 | * |
||
138 | * @return $this |
||
139 | */ |
||
140 | public function writeSelectFrom(Select $select, array &$parts) |
||
149 | |||
150 | /** |
||
151 | * @param Select $select |
||
152 | * @param array $parts |
||
153 | * |
||
154 | * @return $this |
||
155 | */ |
||
156 | public function writeSelectJoins(Select $select, array &$parts) |
||
165 | |||
166 | /** |
||
167 | * @param Select $select |
||
168 | * @param $writer |
||
169 | * @param string $getMethod |
||
170 | * @param string $writeMethod |
||
171 | * @param string $glue |
||
172 | * @param string $prepend |
||
173 | * |
||
174 | * @return string |
||
175 | */ |
||
176 | protected function writeSelectAggrupation(Select $select, $writer, $getMethod, $writeMethod, $glue, $prepend = '') |
||
194 | |||
195 | /** |
||
196 | * @param Select $select |
||
197 | * @param array $parts |
||
198 | * |
||
199 | * @return $this |
||
200 | */ |
||
201 | public function writeSelectWhere(Select $select, array &$parts) |
||
218 | |||
219 | /** |
||
220 | * @param array $wheres |
||
221 | * |
||
222 | * @return array |
||
223 | */ |
||
224 | protected function writeSelectWheres(array $wheres) |
||
238 | |||
239 | /** |
||
240 | * @param Select $select |
||
241 | * @param array $parts |
||
242 | * |
||
243 | * @return $this |
||
244 | */ |
||
245 | public function writeSelectGroupBy(Select $select, array &$parts) |
||
260 | |||
261 | /** |
||
262 | * @param Select $select |
||
263 | * @param array $parts |
||
264 | * |
||
265 | * @return $this |
||
266 | */ |
||
267 | public function writeSelectHaving(Select $select, array &$parts) |
||
287 | |||
288 | /** |
||
289 | * @param array $havingArray |
||
290 | * @param Select $select |
||
291 | * @param GenericBuilder $writer |
||
292 | * @param PlaceholderWriter $placeholder |
||
293 | * |
||
294 | * @return mixed |
||
295 | */ |
||
296 | protected function getHavingConditions( |
||
314 | |||
315 | /** |
||
316 | * @param Select $select |
||
317 | * @param array $parts |
||
318 | * |
||
319 | * @return $this |
||
320 | */ |
||
321 | protected function writeSelectOrderBy(Select $select, array &$parts) |
||
341 | |||
342 | /** |
||
343 | * @param OrderBy $orderBy |
||
344 | * |
||
345 | * @return string |
||
346 | */ |
||
347 | public function writeOrderBy(OrderBy $orderBy) |
||
353 | |||
354 | /** |
||
355 | * @param Select $select |
||
356 | * @param array $parts |
||
357 | * |
||
358 | * @return $this |
||
359 | */ |
||
360 | protected function writeSelectLimit(Select $select, array &$parts) |
||
377 | |||
378 | /** |
||
379 | * @param Select $select |
||
380 | * |
||
381 | * @return string |
||
382 | */ |
||
383 | protected function getStartingLimit(Select $select) |
||
387 | |||
388 | /** |
||
389 | * @param Select $select |
||
390 | * |
||
391 | * @return string |
||
392 | */ |
||
393 | protected function getLimitCount(Select $select) |
||
397 | } |
||
398 |