Doctrine querybuilder DATE_FORMAT not working Doctrine querybuilder DATE_FORMAT not working symfony symfony

Doctrine querybuilder DATE_FORMAT not working


DATE_FORMAT along with a bunch of Mysql function are not directly available in Doctrine.

To use them you can either create your own or add an extension like beberlei/DoctrineExtensions and then add the respective function to your doctrine bundle config like

doctrine:    dbal:        ....    orm:        ....        dql:            string_functions:                DATE_FORMAT: DoctrineExtensions\Query\Mysql\DateFormat


DATE_FORMAT is not a doctrine recognised function. That link that you pasted is custom code the author wrote for him to get date_formate. You can write custom functions in doctrine and register them , neat ey ?

Here is an example of how to do that - http://symfony.com/doc/current/cookbook/doctrine/custom_dql_functions.html

Option 1: You write that custom function for DATE_FORMAT so that you can use it again and again. Option 2: Maybe reformat the date in PHP to match the date format in the database , kinda like

$after7Days->format('Y-m-d');


DATE_FORMAT is not string function, its date_function:

config.yml

doctrine:     orm:         dql:             datetime_functions:                 date_format: DoctrineExtensions\Query\Mysql\DateFormat