Current File : //var/www/vinorea/vendor/beberlei/doctrineextensions/src/Query/Sqlite/AbstractStrfTime.php |
<?php
namespace DoctrineExtensions\Query\Sqlite;
use Doctrine\ORM\Query\AST\Functions\FunctionNode;
use Doctrine\ORM\Query\Lexer;
/**
* @author Tarjei Huse <tarjei.huse@gmail.com>
*/
abstract class AbstractStrfTime extends FunctionNode
{
public $date;
public function getSql(\Doctrine\ORM\Query\SqlWalker $sqlWalker)
{
return "STRFTIME('"
. $this->getFormat()
. "', "
. $sqlWalker->walkArithmeticPrimary($this->date)
. ')';
}
public function parse(\Doctrine\ORM\Query\Parser $parser)
{
$parser->match(Lexer::T_IDENTIFIER);
$parser->match(Lexer::T_OPEN_PARENTHESIS);
$this->date = $parser->ArithmeticPrimary();
$parser->match(Lexer::T_CLOSE_PARENTHESIS);
}
abstract protected function getFormat();
}