![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/vendor/beberlei/doctrineextensions/src/Query/Postgresql/ |
<?php namespace DoctrineExtensions\Query\Postgresql; use Doctrine\ORM\Query\AST\Functions\FunctionNode; use Doctrine\ORM\Query\Lexer; use Doctrine\ORM\Query\Parser; use Doctrine\ORM\Query\SqlWalker; /** * @author Vas N <[email protected]> * @author Leonardo B Motyczka <[email protected]> */ class Least extends FunctionNode { private $field = null; private $values = []; /** * @param Parser $parser */ public function parse(Parser $parser) { $parser->match(Lexer::T_IDENTIFIER); $parser->match(Lexer::T_OPEN_PARENTHESIS); $this->field = $parser->ArithmeticExpression(); $lexer = $parser->getLexer(); while (count($this->values) < 1 || $lexer->lookahead['type'] != Lexer::T_CLOSE_PARENTHESIS) { $parser->match(Lexer::T_COMMA); $this->values[] = $parser->ArithmeticExpression(); } $parser->match(Lexer::T_CLOSE_PARENTHESIS); } /** * @param SqlWalker $sqlWalker * @return string */ public function getSql(SqlWalker $sqlWalker) { $query = 'LEAST('; $query .= $this->field->dispatch($sqlWalker); $query .= ', '; for ($i = 0; $i < count($this->values); $i++) { if ($i > 0) { $query .= ', '; } $query .= $this->values[$i]->dispatch($sqlWalker); } $query .= ')'; return $query; } }