Add addUnique function
Signed-off-by: David Arendsen <darendsen@gamepoint.com>
This commit is contained in:
parent
fc99922700
commit
483e67a2e8
6 changed files with 110 additions and 0 deletions
|
|
@ -17,6 +17,7 @@ use Arendsen\FluxQueryBuilder\Functions\Min;
|
|||
use Arendsen\FluxQueryBuilder\Functions\Reduce;
|
||||
use Arendsen\FluxQueryBuilder\Functions\Sort;
|
||||
use Arendsen\FluxQueryBuilder\Functions\Sum;
|
||||
use Arendsen\FluxQueryBuilder\Functions\Unique;
|
||||
use Arendsen\FluxQueryBuilder\Functions\Window;
|
||||
|
||||
trait Universe
|
||||
|
|
@ -133,6 +134,14 @@ trait Universe
|
|||
return $this;
|
||||
}
|
||||
|
||||
public function addUnique(?string $column = null): QueryBuilderInterface
|
||||
{
|
||||
$this->addToQuery(
|
||||
new Unique($column)
|
||||
);
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function addUnWindow(): QueryBuilderInterface
|
||||
{
|
||||
$this->addToQuery(
|
||||
|
|
|
|||
27
src/Functions/Unique.php
Normal file
27
src/Functions/Unique.php
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
namespace Arendsen\FluxQueryBuilder\Functions;
|
||||
|
||||
use Arendsen\FluxQueryBuilder\Type;
|
||||
|
||||
class Unique extends Base
|
||||
{
|
||||
/**
|
||||
* @var string|null $column
|
||||
*/
|
||||
private $column;
|
||||
|
||||
public function __construct(?string $column = null)
|
||||
{
|
||||
$this->column = $column;
|
||||
}
|
||||
|
||||
public function __toString()
|
||||
{
|
||||
$params = new Type(array_filter([
|
||||
'column' => $this->column
|
||||
]));
|
||||
|
||||
return '|> unique(' . $params . ') ';
|
||||
}
|
||||
}
|
||||
Loading…
Add table
editor.link_modal.header
Reference in a new issue