Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $builder = $this->em->createQueryBuilder();
- $builder->select('a')
- ->from('EntityAppointment', 'a')
- ->andWhere('a.when = :date')
- ->setParameter('date', $date);
- ->andWhere('DATE(a.when) = :date')
- Error: Expected known function, got 'DATE'
- namespace CeradBundleCoreBundleDoctrineDQL;
- use DoctrineORMQueryLexer;
- use DoctrineORMQueryASTFunctionsFunctionNode;
- class Date extends FunctionNode
- {
- public $date;
- public function getSql(DoctrineORMQuerySqlWalker $sqlWalker)
- {
- return "DATE(" . $sqlWalker->walkArithmeticPrimary($this->date) . ")";
- }
- public function parse(DoctrineORMQueryParser $parser)
- {
- $parser->match(Lexer::T_IDENTIFIER);
- $parser->match(Lexer::T_OPEN_PARENTHESIS);
- $this->date = $parser->ArithmeticPrimary();
- $parser->match(Lexer::T_CLOSE_PARENTHESIS);
- }
- }
- doctrine:
- orm:
- default_entity_manager: default
- auto_generate_proxy_classes: %kernel.debug%
- entity_managers:
- default:
- connection: default
- ...
- dql:
- datetime_functions:
- date: CeradBundleCoreBundleDoctrineDQLDate
- $config = new DoctrineORMConfiguration();
- $config->addCustomDatetimeFunction('DATE', 'blahblahDate');
- $builder = $this->em->createQueryBuilder();
- $builder->select('a')
- ->from('EntityAppointment', 'a')
- ->andWhere('a.when >= :date_start')
- ->andWhere('a.when <= :date_end')
- ->setParameter('date_start', $date->format('Y-m-d 00:00:00'))
- ->setParameter('date_end', $date->format('Y-m-d 23:59:59'));
Add Comment
Please, Sign In to add comment