2022-08-10 16:09:29 +00:00
|
|
|
<?php
|
|
|
|
|
|
2022-08-12 12:37:30 +00:00
|
|
|
namespace Arendsen\FluxQueryBuilder\Functions;
|
2022-08-10 16:09:29 +00:00
|
|
|
|
2022-08-11 12:42:43 +00:00
|
|
|
use Arendsen\FluxQueryBuilder\Formatters;
|
|
|
|
|
|
2022-08-15 20:28:25 +00:00
|
|
|
class Group extends Base
|
|
|
|
|
{
|
2022-08-10 16:09:29 +00:00
|
|
|
/**
|
|
|
|
|
* @var array $columns
|
|
|
|
|
*/
|
|
|
|
|
private $columns;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @var string $mode
|
|
|
|
|
*/
|
|
|
|
|
private $mode;
|
|
|
|
|
|
|
|
|
|
public function __construct(array $columns, string $mode = 'by')
|
|
|
|
|
{
|
|
|
|
|
$this->columns = $columns;
|
|
|
|
|
$this->mode = $mode;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function __toString()
|
|
|
|
|
{
|
2022-08-11 15:06:14 +00:00
|
|
|
$array = Formatters::toFluxArrayString([
|
|
|
|
|
'columns' => $this->columns,
|
|
|
|
|
'mode' => $this->mode,
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
return '|> group(' . $array . ') ';
|
2022-08-10 16:09:29 +00:00
|
|
|
}
|
2022-08-15 20:28:25 +00:00
|
|
|
}
|