/src/Query/Postgresql/DatePart.php
http://github.com/beberlei/DoctrineExtensions · PHP · 36 lines · 27 code · 6 blank · 3 comment · 0 complexity · b331da6d9b5036b0140e4f8fab2832a8 MD5 · raw file
- <?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 Geovani Roggeo
- */
- class DatePart extends FunctionNode
- {
- public $dateString = null;
-
- public $dateFormat = null;
- public function parse(Parser $parser)
- {
- $parser->match(Lexer::T_IDENTIFIER);
- $parser->match(Lexer::T_OPEN_PARENTHESIS);
- $this->dateString = $parser->ArithmeticPrimary();
- $parser->match(Lexer::T_COMMA);
- $this->dateFormat = $parser->ArithmeticPrimary();
- $parser->match(Lexer::T_CLOSE_PARENTHESIS);
- }
- public function getSql(SqlWalker $sqlWalker)
- {
- return 'DATE_PART(' .
- $this->dateString->dispatch($sqlWalker) . ', ' .
- $this->dateFormat->dispatch($sqlWalker) .
- ')';
- }
- }