2022-09-01 13:47:34 +00:00
|
|
|
<?php
|
|
|
|
|
|
2024-03-30 16:44:38 +01:00
|
|
|
namespace Hosterra\FluxBuilder\Functions;
|
2022-09-01 13:47:34 +00:00
|
|
|
|
2024-03-30 16:44:38 +01:00
|
|
|
use Hosterra\FluxBuilder\Type;
|
|
|
|
|
use Hosterra\FluxBuilder\Type\ArrayType;
|
2022-09-01 13:47:34 +00:00
|
|
|
|
2024-03-30 16:44:38 +01:00
|
|
|
class Duplicate extends Base {
|
|
|
|
|
/**
|
|
|
|
|
* @var string $column
|
|
|
|
|
*/
|
|
|
|
|
private $column;
|
2022-09-01 13:47:34 +00:00
|
|
|
|
2024-03-30 16:44:38 +01:00
|
|
|
/**
|
|
|
|
|
* @var string $as
|
|
|
|
|
*/
|
|
|
|
|
private $as;
|
2022-09-01 13:47:34 +00:00
|
|
|
|
2024-03-30 16:44:38 +01:00
|
|
|
public function __construct( string $column, string $as ) {
|
|
|
|
|
$this->column = $column;
|
|
|
|
|
$this->as = $as;
|
|
|
|
|
}
|
2022-09-01 13:47:34 +00:00
|
|
|
|
2024-03-30 16:44:38 +01:00
|
|
|
public function __toString() {
|
|
|
|
|
$input = new ArrayType( [
|
|
|
|
|
'column' => $this->column,
|
|
|
|
|
'as' => $this->as
|
|
|
|
|
] );
|
2022-09-01 13:47:34 +00:00
|
|
|
|
2024-03-30 16:44:38 +01:00
|
|
|
return '|> duplicate(' . $input . ') ';
|
|
|
|
|
}
|
2022-09-01 13:47:34 +00:00
|
|
|
}
|