Problèmes et Erreurs

Fonction qui n'existe pas

Par exemple, en voulant utiliser la fonction SQL date_format on obtient une erreur :

[Syntax Error] line 0, col 20: Error: Expected known function, got 'date_format'

Pour y remedier il faut installer le package beberlei/doctrineextensions

symfony composer require beberlei/doctrineextensions

et modifier le fichier

config\packages\doctrine.yaml
doctrine:
    orm:
        dql:
             datetime_functions:
                 date_format: DoctrineExtensions\Query\Mysql\DateFormat

On peut meme rajouter d'autres fonction :

config\packages\doctrine.yaml
doctrine:
    orm:
        dql:
            datetime_functions:
                DATE_FORMAT: DoctrineExtensions\Query\Mysql\DateFormat
                DAY: DoctrineExtensions\Query\Mysql\Day
                MONTH: DoctrineExtensions\Query\Mysql\Month
                YEAR: DoctrineExtensions\Query\Mysql\Year

Toutes les fonctions disponibles sont dans le répertoire : vendor\beberlei\doctrineextensions\src\Query\Mysql

Pour MySQL : ACOS, ADDTIME, AES_DECRYPT, AES_ENCRYPT, ANY_VALUE, ASCII, ASIN, ATAN, ATAN2, BINARY, BIT_COUNT, BIT_XOR, CAST, CEIL, CHAR_LENGTH, COLLATE, CONCAT_WS, CONVERT_TZ, COS, COT, COUNTIF, CRC32, DATE, DATE_FORMAT, DATEADD, DATEDIFF, DATESUB, DAY, DAYNAME, DAYOFWEEK, DAYOFYEAR, DEGREES, DIV, EXP, EXTRACT, FIELD, FIND_IN_SET, FLOOR, FORMAT, FROM_BASE64, FROM_UNIXTIME, GREATEST, GROUP_CONCAT, HEX, HOUR, IFELSE, IFNULL, INET_ATON, INET_NTOA, INET6_ATON, INET6_NTOA, INSTR, IS_IPV4, IS_IPV4_COMPAT, IS_IPV4_MAPPED, IS_IPV6, JSON_CONTAINS, JSON_DEPTH, JSON_LENGTH, LAG, LAST_DAY, LEAD, LEAST, LOG, LOG10, LOG2, LPAD, MAKEDATE, MATCH, MD5, MINUTE, MONTH, MONTHNAME, NOW, NULLIF, OVER, PERIOD_DIFF, PI, POWER, QUARTER, RADIANS, RAND, REGEXP, REPLACE, ROUND, RPAD, SECOND, SECTOTIME, SHA1, SHA2, SIN, SOUNDEX, STD, STDDEV, STRTODATE, STR_TO_DATE, SUBSTRING_INDEX, TAN, TIME, TIMEDIFF, TIMESTAMPADD, TIMESTAMPDIFF, TIMETOSEC, TRUNCATE, UNHEX, UNIX_TIMESTAMP, UTC_TIMESTAMP, UUID_SHORT, VARIANCE, WEEK, WEEKDAY, WEEKOFYEAR, YEAR, YEARMONTH, YEARWEEK

Source : https://github.com/beberlei/DoctrineExtensions

Sources & Ressources

Vous pourriez laisser un commentaire si vous étiez connecté.