Guest User

Untitled

a guest
Jan 17th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. $builder = $this->em->createQueryBuilder();
  2. $builder->select('a')
  3. ->from('EntityAppointment', 'a')
  4. ->andWhere('a.when = :date')
  5. ->setParameter('date', $date);
  6.  
  7. ->andWhere('DATE(a.when) = :date')
  8.  
  9. Error: Expected known function, got 'DATE'
  10.  
  11. namespace CeradBundleCoreBundleDoctrineDQL;
  12.  
  13. use DoctrineORMQueryLexer;
  14. use DoctrineORMQueryASTFunctionsFunctionNode;
  15.  
  16. class Date extends FunctionNode
  17. {
  18. public $date;
  19.  
  20. public function getSql(DoctrineORMQuerySqlWalker $sqlWalker)
  21. {
  22. return "DATE(" . $sqlWalker->walkArithmeticPrimary($this->date) . ")";
  23. }
  24. public function parse(DoctrineORMQueryParser $parser)
  25. {
  26. $parser->match(Lexer::T_IDENTIFIER);
  27. $parser->match(Lexer::T_OPEN_PARENTHESIS);
  28.  
  29. $this->date = $parser->ArithmeticPrimary();
  30.  
  31. $parser->match(Lexer::T_CLOSE_PARENTHESIS);
  32. }
  33. }
  34.  
  35. doctrine:
  36. orm:
  37. default_entity_manager: default
  38. auto_generate_proxy_classes: %kernel.debug%
  39.  
  40. entity_managers:
  41.  
  42. default:
  43. connection: default
  44. ...
  45. dql:
  46. datetime_functions:
  47. date: CeradBundleCoreBundleDoctrineDQLDate
  48.  
  49. $config = new DoctrineORMConfiguration();
  50. $config->addCustomDatetimeFunction('DATE', 'blahblahDate');
  51.  
  52. $builder = $this->em->createQueryBuilder();
  53. $builder->select('a')
  54. ->from('EntityAppointment', 'a')
  55. ->andWhere('a.when >= :date_start')
  56. ->andWhere('a.when <= :date_end')
  57. ->setParameter('date_start', $date->format('Y-m-d 00:00:00'))
  58. ->setParameter('date_end', $date->format('Y-m-d 23:59:59'));
Add Comment
Please, Sign In to add comment