point-tools/old/src/PointToolsBundle/DQL/Day.php

26 lines
644 B
PHP

<?php
namespace src\PointToolsBundle\DQL;
use Doctrine\ORM\Query\AST\Functions\FunctionNode;
use Doctrine\ORM\Query\Lexer;
class Day extends FunctionNode
{
public $dateExpression;
public function parse(\Doctrine\ORM\Query\Parser $parser)
{
$parser->match(Lexer::T_IDENTIFIER);
$parser->match(Lexer::T_OPEN_PARENTHESIS);
$this->dateExpression = $parser->ArithmeticPrimary();
$parser->match(Lexer::T_CLOSE_PARENTHESIS);
}
public function getSql(\Doctrine\ORM\Query\SqlWalker $sqlWalker)
{
return 'date_trunc(\'day\', '.$this->dateExpression->dispatch($sqlWalker).')';
}
}